Changeset 9

Show
Ignore:
Timestamp:
03/16/07 11:14:47 (2 years ago)
Author:
root
Message:

If/elseif refactoring plus fixing newexten duplication in procesabloque

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/op_server.pl

    r8 r9  
    29072907        } 
    29082908        $evento = ""; 
    2909  
    29102909    } 
    29112910    elsif ( $evento eq "originatefailure" ) { 
     
    29902989        $evento = ""; 
    29912990 
    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 transfers 
    2998             # so remove the hash element and add it to attendant_pending hash 
    2999             # that is used for look for hangups and perform redirects 
    3000  
    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         } 
    30052991    } 
    30062992    elsif ( $evento eq "agentcomplete" ) { 
     
    30213007            push @return, $_; 
    30223008        } 
    3023  
    30243009    } 
    30253010    elsif ( $evento eq "PeerlistComplete" ) { 
     
    30533038        $autosip_detail{"autosipentry-$cnt_autosip"} = 1; 
    30543039        send_reload_to_flash(); 
    3055  
    30563040    } 
    30573041    elsif ( $evento eq "sippeerentrylong" ) { 
     
    31493133            $autosip{"$server^$peer"}{server} = $server; 
    31503134        } 
    3151  
    31523135    } 
    31533136    elsif ( $evento eq "agentcalled" ) { 
     
    31673150        push @return, "$canal|$estado_final|$texto|$canalid-$server|$canalid"; 
    31683151        $evento = ""; 
    3169  
    31703152    } 
    31713153    elsif ( $evento eq "agentconnect" ) { 
     
    31883170 
    31893171        $evento = ""; 
    3190  
    31913172    } 
    31923173    elsif ( $evento eq "dial" ) { 
     
    32833264        $evento = ""; 
    32843265    } 
    3285  
    3286     if ( $evento eq "timeout" ) { 
     3266    elsif ( $evento eq "timeout" ) { 
    32873267        $estado_final = "timeout"; 
    32883268        $texto        = $timeout; 
     
    32943274        $evento = ""; 
    32953275    } 
    3296  
    3297     if ( $evento eq "regstatus" ) { 
     3276    elsif ( $evento eq "regstatus" ) { 
    32983277 
    32993278        # Sends the IP address of the peer to the flash client 
     
    33133292        } 
    33143293    } 
    3315  
    3316     if ( $evento eq "fopledcolor" ) { 
     3294    elsif ( $evento eq "fopledcolor" ) { 
    33173295        my $color = ""; 
    33183296        my $state = ""; 
     
    33243302        $evento = ""; 
    33253303    } 
    3326  
    3327     if ( $evento eq "foppopup" ) { 
     3304    elsif ( $evento eq "foppopup" ) { 
    33283305        ( $canal, my $nada ) = separate_session_from_channel( $hash_temporal{"Channel"} ); 
    33293306        my $url    = $hash_temporal{"URL"}; 
     
    33363313        $evento = ""; 
    33373314    } 
    3338  
    3339     if ( $evento eq "refreshqueue" ) { 
     3315    elsif ( $evento eq "refreshqueue" ) { 
    33403316        ( $canal, my $nada ) = separate_session_from_channel( $hash_temporal{"Channel"} ); 
    33413317 
     
    33483324        $evento = ""; 
    33493325    } 
    3350  
    3351     if ( $evento eq "agentcblogin" ) { 
     3326    elsif ( $evento eq "agentcblogin" ) { 
    33523327        my $canal      = ""; 
    33533328        my $canallocal = ""; 
     
    34663441        $evento = ""; 
    34673442    } 
    3468  
    3469     if ( $evento eq "queuememberpaused" && $agent_status == 1 ) { 
     3443    elsif ( $evento eq "queuememberpaused" && $agent_status == 1 ) { 
    34703444        my $canal   = $hash_temporal{Location}; 
    34713445        my $canalid = $canal . "-XXXX"; 
     
    35163490 
    35173491    } 
    3518  
    3519     if ( $evento eq "queuememberremoved" ) { 
     3492    elsif ( $evento eq "queuememberremoved" ) { 
    35203493        my $colar      = $hash_temporal{Queue}; 
    35213494        my $canal      = $hash_temporal{Location}; 
     
    35343507        $evento = ""; 
    35353508    } 
    3536  
    3537     if ( $evento eq "queuememberadded" ) { 
     3509    elsif ( $evento eq "queuememberadded" ) { 
    35383510 
    35393511        my $colar      = $hash_temporal{Queue}; 
     
    35663538 
    35673539    } 
    3568  
    3569     if ( $evento eq "agentlogin" ) { 
     3540    elsif ( $evento eq "agentlogin" ) { 
    35703541 
    35713542        my $labeltext = "."; 
     
    37193690        } 
    37203691    } 
    3721  
    3722     if ( $evento eq "agentlogoff" ) { 
     3692    elsif ( $evento eq "agentlogoff" ) { 
    37233693 
    37243694        $canal = "Agent/" . $hash_temporal{Agent}; 
     
    38273797 
    38283798    } 
    3829  
    3830     if ( $evento eq "queueentry" ) { 
     3799    elsif ( $evento eq "queueentry" ) { 
    38313800 
    38323801        if ( defined( $max_queue_waiting_time_for{"$hash_temporal{Queue}-$hash_temporal{Server}"} ) ) { 
     
    38523821        $fakecounter++; 
    38533822    } 
    3854  
    3855     if ( $evento eq "queuestatuscomplete" ) { 
     3823    elsif ( $evento eq "queuestatuscomplete" ) { 
    38563824        for my $cola_server ( keys %max_queue_waiting_time_for ) { 
    38573825            my ( $cola, $server ) = ( $cola_server =~ m/(.*)-(.*)/ ); 
     
    38703838        } 
    38713839    } 
    3872  
    3873     if ( $evento eq "queuemember" || $evento eq "queuememberstatus" ) { 
     3840    elsif ( $evento eq "queuemember" || $evento eq "queuememberstatus" ) { 
    38743841 
    38753842        my $canalag = $hash_temporal{"Location"}; 
     
    40203987        $evento = ""; 
    40213988    } 
    4022  
    4023     if ( $evento eq "queuestatus" ) { 
     3989    elsif ( $evento eq "queuestatus" ) { 
    40243990        $canal   = $hash_temporal{Queue}; 
    40253991        $canalid = $canal . "-XXXX"; 
     
    40384004        $evento = ""; 
    40394005    } 
    4040  
    4041     if ( $evento eq "meetmemute" || $evento eq "meetmeunmute" ) { 
     4006    elsif ( $evento eq "meetmemute" || $evento eq "meetmeunmute" ) { 
    40424007        my ( $canal, $nada ) = separate_session_from_channel($canalid); 
    40434008        $estado_final = $evento; 
     
    40454010        $evento = ""; 
    40464011    } 
    4047  
    4048     if ( $evento eq "queueparams" ) { 
     4012    elsif ( $evento eq "queueparams" ) { 
    40494013        $canal = $hash_temporal{Queue}; 
    40504014        $canal =~ tr/a-z/A-Z/; 
     
    40714035        $evento = ""; 
    40724036    } 
    4073  
    4074     if ( $evento eq "join" ) { 
     4037    elsif ( $evento eq "join" ) { 
    40754038        my $qclidnum  = ""; 
    40764039        my $qclidname = ""; 
     
    41154078 
    41164079    } 
    4117  
    4118     if ( $evento eq "meetmejoin" ) { 
     4080    elsif ( $evento eq "meetmejoin" ) { 
    41194081        my $originate        = "no"; 
    41204082        my $mute_other_party = "no"; 
     
    43004262        push @return, "$canalfin|meetmeuser|$hash_temporal{Usernum},$hash_temporal{Meetme}|YYYY-$server|$hash_temporal{Channel}"; 
    43014263    } 
    4302  
    4303     if ( $evento eq "meetmeleave" ) { 
     4264    elsif ( $evento eq "meetmeleave" ) { 
    43044265        $canal = $hash_temporal{Meetme}; 
    43054266        $canal =~ tr/a-z/A-Z/; 
     
    43314292        push @return, "$canalfin|corto||$hash_temporal{Uniqueid}-$server|$canaleja"; 
    43324293    } 
    4333  
    4334     if ( $evento eq "leave" ) { 
     4294    elsif ( $evento eq "leave" ) { 
    43354295        $canal = "QUEUE/" . $hash_temporal{"Queue"}; 
    43364296        $canal =~ tr/a-z/A-Z/; 
     
    43514311        print_sesbot(2); 
    43524312    } 
    4353  
    4354     if ( $evento eq "voicemail" ) { 
     4313    elsif ( $evento eq "voicemail" ) { 
    43554314        my @canalesvoicemail = (); 
    43564315 
     
    43894348        $evento = ""; 
    43904349    } 
    4391  
    4392     if ( $evento eq "link" ) { 
     4350    elsif ( $evento eq "link" ) { 
    43934351        my $uniqueid1 = $hash_temporal{"Uniqueid1"}; 
    43944352        my $uniqueid2 = $hash_temporal{"Uniqueid2"}; 
     
    44864444        $evento = "";    #NEW 
    44874445    } 
    4488  
    4489     if ( $evento eq "unlink" ) { 
     4446    elsif ( $evento eq "unlink" ) { 
    44904447        my $uniqueid1 = $hash_temporal{Uniqueid1}; 
    44914448        my $uniqueid2 = $hash_temporal{Uniqueid2}; 
     
    45314488        $evento = "";    #NEW 
    45324489    } 
    4533  
    4534     if ( $evento eq "rename" ) { 
     4490    elsif ( $evento eq "rename" ) { 
    45354491        my $nuevo_nombre = ""; 
    45364492        my $viejo_nombre = ""; 
     
    46224578        } 
    46234579        $evento = "";    #NEW 
    4624     } elsif ( $evento eq "peerstatus" ) { 
     4580    } 
     4581    elsif ( $evento eq "peerstatus" ) { 
    46254582        my $tiempo = 0; 
    46264583        $canal = $hash_temporal{Peer}; 
     
    46514608        push @return, "$canal|$estado_final|$texto|$unico_id|$canalid"; 
    46524609        $evento = ""; 
    4653     } elsif ( $evento eq "extensionstatus" ) { 
     4610    } 
     4611    elsif ( $evento eq "extensionstatus" ) { 
    46544612        $canal = $hash_temporal{"Exten"}; 
    46554613        $canal =~ s/(\d+)/SCCP\/$1/g; 
     
    46654623        push @return, "$canal|$estado_final|$texto|$unico_id|$canalid"; 
    46664624        $evento = ""; 
    4667     } elsif ( $evento eq "status" ) { 
     4625    } 
     4626    elsif ( $evento eq "status" ) { 
    46684627        $evento = ""; 
    4669     } elsif ( $evento eq "statuscomplete" ) { 
     4628    } 
     4629    elsif ( $evento eq "statuscomplete" ) { 
    46704630 
    46714631        # When done with the status retrieval, generate events to send to 
     
    47604720 
    47614721        $evento = "";    #NEW (estaba comentado) 
    4762     } elsif ( $evento eq "fakeismeetmemember" ) { 
     4722    } 
     4723    elsif ( $evento eq "fakeismeetmemember" ) { 
    47634724        my @bot1 = (); 
    47644725        my $bot2 = 0; 
     
    47684729        push @return, "$hash_temporal{Meetme}|setlink|$hash_temporal{Channel}||$hash_temporal{Channel}"; 
    47694730        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 
    47754738        # If its a new extension without state and priority 1, defaults to 'Up' and set setlid 
    47764739        if ( !defined( $datos{$unico_id}{'State'} ) && $hash_temporal{Priority} == 1 ) { 
    47774740            $datos{$unico_id}{'State'} = "Up"; 
    47784741            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        } 
    47854749 
    47864750        # If its a parked channel, set the PARK button to 'Down' 
     
    47954759        } 
    47964760 
    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" ) { 
    47984775 
    47994776        # Look for attendant_pending and perform a redirect of the 
     
    48544831            log_debug( "$heading NO EXISTE parked{$server^$canalid}", 128 ) if DEBUG; 
    48554832        } 
    4856     } elsif ( $evento eq "unparkedcall" ) { 
     4833    } 
     4834    elsif ( $evento eq "unparkedcall" ) { 
    48574835        my $channel1 = $hash_temporal{"Channel"}; 
    48584836 
     
    48664844            push @return, "$canal1|ocupado5||$unidchan|$channel1"; 
    48674845        } 
    4868     } elsif ( $evento eq "parkedcall" ) { 
     4846    } 
     4847    elsif ( $evento eq "parkedcall" ) { 
    48694848        $texto        = "&parked," . $hash_temporal{'Exten'} . "&"; 
    48704849        $estado_final = "ocupado3"; 
     
    48874866        $parked{"$server^$hash_temporal{'Channel'}"} = $hash_temporal{'Exten'}; 
    48884867        $evento = "";    #NEW 
    4889     } elsif ( $evento eq "newcallerid" ) { 
     4868    } 
     4869    elsif ( $evento eq "newcallerid" ) { 
    48904870        $estado_final = "setstatus"; 
    48914871        $state        = "Newcallerid"; 
     
    49104890    # Dont check for $evento bellow this line! 
    49114891 
    4912        print "AFTER IF ELSE IF evento = $evento\n"; 
     4892    print "AFTER IF ELSE IF evento = $evento\n"; 
    49134893 
    49144894    if ( $evento ne "" ) { 
     
    53315311                } 
    53325312 
    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; 
    53385318 
    53395319                #                if ( !defined($canal) )   { $canal   = ""; } 
     
    56995679                                    } 
    57005680 
    5701                                                                        # Conserva el callerid anterior 
     5681                                    # Conserva el callerid anterior 
    57025682                                    if ( defined( $preestadoboton{$interno} ) ) { 
    57035683                                        $estadoboton{$interno} = $preestadoboton{$interno}; 
     
    58975877                            if ( !defined( $group_count{$interno} ) ) { 
    58985878                                $botonpermanenttext{$interno} = $dos; 
    5899                                                                print "vino settext a digest permanent $interno = -$dos-\n"; 
     5879                                print "vino settext a digest permanent $interno = -$dos-\n"; 
    59005880                                push @respuestas, "$interno|settext|$dos"; 
    59015881                            } 
     
    61316111                                    } 
    61326112                                    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                                        } 
    61386119                                        $botonclid{$interno} = ""; 
    6139                                                                                  
     6120 
    61406121                                    } 
    61416122 
     
    79397920        if ( keys(%botonpermanenttext) ) { 
    79407921            for $interno ( keys %botonpermanenttext ) { 
    7941                                 print "permanente $interno -$botonpermanenttext{$interno}-\n"; 
    79427922                if ( $botonpermanenttext{$interno} ne "" ) { 
     7923                    print "permanente $interno -$botonpermanenttext{$interno}-\n"; 
    79437924                    send_status_to_flash( $socket, "$interno|settext|$botonpermanenttext{$interno}", 0 ); 
    79447925                }