Changeset 9
- Timestamp:
- 03/16/07 11:14:47 (2 years ago)
- Files:
-
- trunk/op_server.pl (modified) (47 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/op_server.pl
r8 r9 2907 2907 } 2908 2908 $evento = ""; 2909 2910 2909 } 2911 2910 elsif ( $evento eq "originatefailure" ) { … … 2990 2989 $evento = ""; 2991 2990 2992 }2993 elsif ( $evento eq "newexten" ) {2994 2995 if ( exists( $pending_uniqueid_attendant{ $hash_temporal{Uniqueid} } ) ) {2996 2997 # This was from an originatesuccess for attendant transfers2998 # so remove the hash element and add it to attendant_pending hash2999 # that is used for look for hangups and perform redirects3000 3001 $attendant_pending{ $hash_temporal{Channel} } = $pending_uniqueid_attendant{ $hash_temporal{Uniqueid} };3002 delete $pending_uniqueid_attendant{ $hash_temporal{Uniqueid} };3003 log_debug( "Save " . $hash_temporal{Channel} . " as pending", 16 ) if DEBUG;3004 }3005 2991 } 3006 2992 elsif ( $evento eq "agentcomplete" ) { … … 3021 3007 push @return, $_; 3022 3008 } 3023 3024 3009 } 3025 3010 elsif ( $evento eq "PeerlistComplete" ) { … … 3053 3038 $autosip_detail{"autosipentry-$cnt_autosip"} = 1; 3054 3039 send_reload_to_flash(); 3055 3056 3040 } 3057 3041 elsif ( $evento eq "sippeerentrylong" ) { … … 3149 3133 $autosip{"$server^$peer"}{server} = $server; 3150 3134 } 3151 3152 3135 } 3153 3136 elsif ( $evento eq "agentcalled" ) { … … 3167 3150 push @return, "$canal|$estado_final|$texto|$canalid-$server|$canalid"; 3168 3151 $evento = ""; 3169 3170 3152 } 3171 3153 elsif ( $evento eq "agentconnect" ) { … … 3188 3170 3189 3171 $evento = ""; 3190 3191 3172 } 3192 3173 elsif ( $evento eq "dial" ) { … … 3283 3264 $evento = ""; 3284 3265 } 3285 3286 if ( $evento eq "timeout" ) { 3266 elsif ( $evento eq "timeout" ) { 3287 3267 $estado_final = "timeout"; 3288 3268 $texto = $timeout; … … 3294 3274 $evento = ""; 3295 3275 } 3296 3297 if ( $evento eq "regstatus" ) { 3276 elsif ( $evento eq "regstatus" ) { 3298 3277 3299 3278 # Sends the IP address of the peer to the flash client … … 3313 3292 } 3314 3293 } 3315 3316 if ( $evento eq "fopledcolor" ) { 3294 elsif ( $evento eq "fopledcolor" ) { 3317 3295 my $color = ""; 3318 3296 my $state = ""; … … 3324 3302 $evento = ""; 3325 3303 } 3326 3327 if ( $evento eq "foppopup" ) { 3304 elsif ( $evento eq "foppopup" ) { 3328 3305 ( $canal, my $nada ) = separate_session_from_channel( $hash_temporal{"Channel"} ); 3329 3306 my $url = $hash_temporal{"URL"}; … … 3336 3313 $evento = ""; 3337 3314 } 3338 3339 if ( $evento eq "refreshqueue" ) { 3315 elsif ( $evento eq "refreshqueue" ) { 3340 3316 ( $canal, my $nada ) = separate_session_from_channel( $hash_temporal{"Channel"} ); 3341 3317 … … 3348 3324 $evento = ""; 3349 3325 } 3350 3351 if ( $evento eq "agentcblogin" ) { 3326 elsif ( $evento eq "agentcblogin" ) { 3352 3327 my $canal = ""; 3353 3328 my $canallocal = ""; … … 3466 3441 $evento = ""; 3467 3442 } 3468 3469 if ( $evento eq "queuememberpaused" && $agent_status == 1 ) { 3443 elsif ( $evento eq "queuememberpaused" && $agent_status == 1 ) { 3470 3444 my $canal = $hash_temporal{Location}; 3471 3445 my $canalid = $canal . "-XXXX"; … … 3516 3490 3517 3491 } 3518 3519 if ( $evento eq "queuememberremoved" ) { 3492 elsif ( $evento eq "queuememberremoved" ) { 3520 3493 my $colar = $hash_temporal{Queue}; 3521 3494 my $canal = $hash_temporal{Location}; … … 3534 3507 $evento = ""; 3535 3508 } 3536 3537 if ( $evento eq "queuememberadded" ) { 3509 elsif ( $evento eq "queuememberadded" ) { 3538 3510 3539 3511 my $colar = $hash_temporal{Queue}; … … 3566 3538 3567 3539 } 3568 3569 if ( $evento eq "agentlogin" ) { 3540 elsif ( $evento eq "agentlogin" ) { 3570 3541 3571 3542 my $labeltext = "."; … … 3719 3690 } 3720 3691 } 3721 3722 if ( $evento eq "agentlogoff" ) { 3692 elsif ( $evento eq "agentlogoff" ) { 3723 3693 3724 3694 $canal = "Agent/" . $hash_temporal{Agent}; … … 3827 3797 3828 3798 } 3829 3830 if ( $evento eq "queueentry" ) { 3799 elsif ( $evento eq "queueentry" ) { 3831 3800 3832 3801 if ( defined( $max_queue_waiting_time_for{"$hash_temporal{Queue}-$hash_temporal{Server}"} ) ) { … … 3852 3821 $fakecounter++; 3853 3822 } 3854 3855 if ( $evento eq "queuestatuscomplete" ) { 3823 elsif ( $evento eq "queuestatuscomplete" ) { 3856 3824 for my $cola_server ( keys %max_queue_waiting_time_for ) { 3857 3825 my ( $cola, $server ) = ( $cola_server =~ m/(.*)-(.*)/ ); … … 3870 3838 } 3871 3839 } 3872 3873 if ( $evento eq "queuemember" || $evento eq "queuememberstatus" ) { 3840 elsif ( $evento eq "queuemember" || $evento eq "queuememberstatus" ) { 3874 3841 3875 3842 my $canalag = $hash_temporal{"Location"}; … … 4020 3987 $evento = ""; 4021 3988 } 4022 4023 if ( $evento eq "queuestatus" ) { 3989 elsif ( $evento eq "queuestatus" ) { 4024 3990 $canal = $hash_temporal{Queue}; 4025 3991 $canalid = $canal . "-XXXX"; … … 4038 4004 $evento = ""; 4039 4005 } 4040 4041 if ( $evento eq "meetmemute" || $evento eq "meetmeunmute" ) { 4006 elsif ( $evento eq "meetmemute" || $evento eq "meetmeunmute" ) { 4042 4007 my ( $canal, $nada ) = separate_session_from_channel($canalid); 4043 4008 $estado_final = $evento; … … 4045 4010 $evento = ""; 4046 4011 } 4047 4048 if ( $evento eq "queueparams" ) { 4012 elsif ( $evento eq "queueparams" ) { 4049 4013 $canal = $hash_temporal{Queue}; 4050 4014 $canal =~ tr/a-z/A-Z/; … … 4071 4035 $evento = ""; 4072 4036 } 4073 4074 if ( $evento eq "join" ) { 4037 elsif ( $evento eq "join" ) { 4075 4038 my $qclidnum = ""; 4076 4039 my $qclidname = ""; … … 4115 4078 4116 4079 } 4117 4118 if ( $evento eq "meetmejoin" ) { 4080 elsif ( $evento eq "meetmejoin" ) { 4119 4081 my $originate = "no"; 4120 4082 my $mute_other_party = "no"; … … 4300 4262 push @return, "$canalfin|meetmeuser|$hash_temporal{Usernum},$hash_temporal{Meetme}|YYYY-$server|$hash_temporal{Channel}"; 4301 4263 } 4302 4303 if ( $evento eq "meetmeleave" ) { 4264 elsif ( $evento eq "meetmeleave" ) { 4304 4265 $canal = $hash_temporal{Meetme}; 4305 4266 $canal =~ tr/a-z/A-Z/; … … 4331 4292 push @return, "$canalfin|corto||$hash_temporal{Uniqueid}-$server|$canaleja"; 4332 4293 } 4333 4334 if ( $evento eq "leave" ) { 4294 elsif ( $evento eq "leave" ) { 4335 4295 $canal = "QUEUE/" . $hash_temporal{"Queue"}; 4336 4296 $canal =~ tr/a-z/A-Z/; … … 4351 4311 print_sesbot(2); 4352 4312 } 4353 4354 if ( $evento eq "voicemail" ) { 4313 elsif ( $evento eq "voicemail" ) { 4355 4314 my @canalesvoicemail = (); 4356 4315 … … 4389 4348 $evento = ""; 4390 4349 } 4391 4392 if ( $evento eq "link" ) { 4350 elsif ( $evento eq "link" ) { 4393 4351 my $uniqueid1 = $hash_temporal{"Uniqueid1"}; 4394 4352 my $uniqueid2 = $hash_temporal{"Uniqueid2"}; … … 4486 4444 $evento = ""; #NEW 4487 4445 } 4488 4489 if ( $evento eq "unlink" ) { 4446 elsif ( $evento eq "unlink" ) { 4490 4447 my $uniqueid1 = $hash_temporal{Uniqueid1}; 4491 4448 my $uniqueid2 = $hash_temporal{Uniqueid2}; … … 4531 4488 $evento = ""; #NEW 4532 4489 } 4533 4534 if ( $evento eq "rename" ) { 4490 elsif ( $evento eq "rename" ) { 4535 4491 my $nuevo_nombre = ""; 4536 4492 my $viejo_nombre = ""; … … 4622 4578 } 4623 4579 $evento = ""; #NEW 4624 } elsif ( $evento eq "peerstatus" ) { 4580 } 4581 elsif ( $evento eq "peerstatus" ) { 4625 4582 my $tiempo = 0; 4626 4583 $canal = $hash_temporal{Peer}; … … 4651 4608 push @return, "$canal|$estado_final|$texto|$unico_id|$canalid"; 4652 4609 $evento = ""; 4653 } elsif ( $evento eq "extensionstatus" ) { 4610 } 4611 elsif ( $evento eq "extensionstatus" ) { 4654 4612 $canal = $hash_temporal{"Exten"}; 4655 4613 $canal =~ s/(\d+)/SCCP\/$1/g; … … 4665 4623 push @return, "$canal|$estado_final|$texto|$unico_id|$canalid"; 4666 4624 $evento = ""; 4667 } elsif ( $evento eq "status" ) { 4625 } 4626 elsif ( $evento eq "status" ) { 4668 4627 $evento = ""; 4669 } elsif ( $evento eq "statuscomplete" ) { 4628 } 4629 elsif ( $evento eq "statuscomplete" ) { 4670 4630 4671 4631 # When done with the status retrieval, generate events to send to … … 4760 4720 4761 4721 $evento = ""; #NEW (estaba comentado) 4762 } elsif ( $evento eq "fakeismeetmemember" ) { 4722 } 4723 elsif ( $evento eq "fakeismeetmemember" ) { 4763 4724 my @bot1 = (); 4764 4725 my $bot2 = 0; … … 4768 4729 push @return, "$hash_temporal{Meetme}|setlink|$hash_temporal{Channel}||$hash_temporal{Channel}"; 4769 4730 push @return, "$chan1|setlink|$hash_temporal{Meetme}||$hash_temporal{Channel}"; 4770 $evento = ""; 4771 4772 } elsif ( $evento eq "newexten" ) { 4773 4774 print "newexten\n"; 4731 $evento = ""; 4732 4733 } 4734 elsif ( $evento eq "newexten" ) { 4735 4736 print "newexten\n"; 4737 4775 4738 # If its a new extension without state and priority 1, defaults to 'Up' and set setlid 4776 4739 if ( !defined( $datos{$unico_id}{'State'} ) && $hash_temporal{Priority} == 1 ) { 4777 4740 $datos{$unico_id}{'State'} = "Up"; 4778 4741 log_debug( "$heading POPULATES datos($unico_id){ State } = Up", 128 ) if DEBUG; 4779 ( $canal, $sesion ) = separate_session_from_channel($hash_temporal{Channel}); 4780 $texto = $hash_temporal{Extension}; 4781 $estado_final = "setclid"; 4782 } else { 4783 print "Newexten pero otro priority?\n"; 4784 } 4742 ( $canal, $sesion ) = separate_session_from_channel( $hash_temporal{Channel} ); 4743 $texto = $hash_temporal{Extension}; 4744 $estado_final = "setclid"; 4745 } 4746 else { 4747 print "Newexten pero otro priority?\n"; 4748 } 4785 4749 4786 4750 # If its a parked channel, set the PARK button to 'Down' … … 4795 4759 } 4796 4760 4797 } elsif ( $evento eq "hangup" ) { 4761 if ( exists( $pending_uniqueid_attendant{ $hash_temporal{Uniqueid} } ) ) { 4762 4763 # This was from an originatesuccess for attendant transfers 4764 # so remove the hash element and add it to attendant_pending hash 4765 # that is used for look for hangups and perform redirects 4766 4767 $attendant_pending{ $hash_temporal{Channel} } = $pending_uniqueid_attendant{ $hash_temporal{Uniqueid} }; 4768 delete $pending_uniqueid_attendant{ $hash_temporal{Uniqueid} }; 4769 log_debug( "Save " . $hash_temporal{Channel} . " as pending", 16 ) if DEBUG; 4770 } 4771 4772 4773 } 4774 elsif ( $evento eq "hangup" ) { 4798 4775 4799 4776 # Look for attendant_pending and perform a redirect of the … … 4854 4831 log_debug( "$heading NO EXISTE parked{$server^$canalid}", 128 ) if DEBUG; 4855 4832 } 4856 } elsif ( $evento eq "unparkedcall" ) { 4833 } 4834 elsif ( $evento eq "unparkedcall" ) { 4857 4835 my $channel1 = $hash_temporal{"Channel"}; 4858 4836 … … 4866 4844 push @return, "$canal1|ocupado5||$unidchan|$channel1"; 4867 4845 } 4868 } elsif ( $evento eq "parkedcall" ) { 4846 } 4847 elsif ( $evento eq "parkedcall" ) { 4869 4848 $texto = "&parked," . $hash_temporal{'Exten'} . "&"; 4870 4849 $estado_final = "ocupado3"; … … 4887 4866 $parked{"$server^$hash_temporal{'Channel'}"} = $hash_temporal{'Exten'}; 4888 4867 $evento = ""; #NEW 4889 } elsif ( $evento eq "newcallerid" ) { 4868 } 4869 elsif ( $evento eq "newcallerid" ) { 4890 4870 $estado_final = "setstatus"; 4891 4871 $state = "Newcallerid"; … … 4910 4890 # Dont check for $evento bellow this line! 4911 4891 4912 print "AFTER IF ELSE IF evento = $evento\n";4892 print "AFTER IF ELSE IF evento = $evento\n"; 4913 4893 4914 4894 if ( $evento ne "" ) { … … 5331 5311 } 5332 5312 5333 log_debug( "$heading canal: $canal", 32 ) if DEBUG;5334 log_debug( "$heading quehace: $quehace", 32 ) if DEBUG;5335 log_debug( "$heading dos: $dos", 32 ) if DEBUG;5336 log_debug( "$heading uniqueid: $uniqueid", 32 ) if DEBUG;5337 log_debug( "$heading canalid: $canalid", 32 ) if DEBUG;5313 log_debug( "$heading canal: $canal", 32 ) if DEBUG; 5314 log_debug( "$heading quehace: $quehace", 32 ) if DEBUG; 5315 log_debug( "$heading dos: $dos", 32 ) if DEBUG; 5316 log_debug( "$heading uniqueid: $uniqueid", 32 ) if DEBUG; 5317 log_debug( "$heading canalid: $canalid", 32 ) if DEBUG; 5338 5318 5339 5319 # if ( !defined($canal) ) { $canal = ""; } … … 5699 5679 } 5700 5680 5701 # Conserva el callerid anterior5681 # Conserva el callerid anterior 5702 5682 if ( defined( $preestadoboton{$interno} ) ) { 5703 5683 $estadoboton{$interno} = $preestadoboton{$interno}; … … 5897 5877 if ( !defined( $group_count{$interno} ) ) { 5898 5878 $botonpermanenttext{$interno} = $dos; 5899 print "vino settext a digest permanent $interno = -$dos-\n";5879 print "vino settext a digest permanent $interno = -$dos-\n"; 5900 5880 push @respuestas, "$interno|settext|$dos"; 5901 5881 } … … 6131 6111 } 6132 6112 else { 6133 if ( defined( $botonpermanenttext{$interno} ) ) { 6134 push @mensajefinal, "$interno|settext|$botonpermanenttext{$interno}"; 6135 print "corto! permanent $interno = -$dos-\n"; 6136 #$botonpermanenttext{$interno} = $dos; 6137 } 6113 if ( defined( $botonpermanenttext{$interno} ) ) { 6114 push @mensajefinal, "$interno|settext|$botonpermanenttext{$interno}"; 6115 print "corto! permanent $interno = -$dos-\n"; 6116 6117 #$botonpermanenttext{$interno} = $dos; 6118 } 6138 6119 $botonclid{$interno} = ""; 6139 6120 6140 6121 } 6141 6122 … … 7939 7920 if ( keys(%botonpermanenttext) ) { 7940 7921 for $interno ( keys %botonpermanenttext ) { 7941 print "permanente $interno -$botonpermanenttext{$interno}-\n";7942 7922 if ( $botonpermanenttext{$interno} ne "" ) { 7923 print "permanente $interno -$botonpermanenttext{$interno}-\n"; 7943 7924 send_status_to_flash( $socket, "$interno|settext|$botonpermanenttext{$interno}", 0 ); 7944 7925 }
