Changeset 64

Show
Ignore:
Timestamp:
11/29/07 11:35:14 (1 year ago)
Author:
root
Message:

Add parkexten and parktimeout to op_server.cfg and support for Park command via manager together with updates for Asterisk 1.4 compatibility.

Files:

Legend:

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

    r63 r64  
    172172my $web_hostname; 
    173173my $listen_port; 
     174my $park_exten; 
     175my $parktimeout; 
    174176my $listen_addr; 
    175177my $security_code; 
     
    529531    $defaultlanguage  = $config->{GENERAL}{language}; 
    530532    $passvars         = $config->{GENERAL}{passvars}; 
     533    $park_exten       = $config->{GENERAL}{parkexten}; 
     534    $parktimeout      = $config->{GENERAL}{parktimeout}; 
    531535 
    532536    if ( $debuglevel == -1 ) { 
     
    678682    if ( !defined $passvars ) { 
    679683        $passvars = ""; 
     684    } 
     685 
     686    if ( !defined $park_exten ) { 
     687        $park_exten = "700"; 
     688    } 
     689 
     690    if ( !defined $parktimeout ) { 
     691        $parktimeout = 45000; 
     692    } 
     693    else { 
     694        $parktimeout = $parktimeout * 1000; 
    680695    } 
    681696 
     
    29102925            $evento = "OriginateFailure"; 
    29112926        } 
     2927    } 
     2928 
     2929    # Convert Asterisk 1.4 ParkedCalltimeout to UnParkedCall 
     2930    if ( $evento eq "ParkedCallTimeOut" ) { 
     2931        $evento = "UnParkedCall"; 
    29122932    } 
    29132933 
     
    77467766 
    77477767                    my @cuales_transferir = get_transfer_channel( $origin_channel, $datosflash ); 
    7748  
    7749                     foreach my $valor (@cuales_transferir) { 
    7750                         log_debug( "$heading Will try to transfer $valor to extension number $canal_destino!", 16 ) 
     7768                    if ( $canal_destino eq $park_exten && $contexto eq "parkedcalls" ) { 
     7769                        log_debug( "$heading Will try to park $valor with announce and bounce to $canal_destino!", 16 ) 
    77517770                          if DEBUG; 
    7752                         $comando = "Action: Redirect\r\n"
    7753                         $comando .= "Channel: $valor\r\n"
    7754                         $comando .= "Exten: $canal_destino\r\n"; 
    7755                         if ( $contexto ne "" ) { 
    7756                             $comando .= "Context: $contexto\r\n"
     7771                        my @links
     7772                        my @canal1
     7773                        if ( $reverse_transfer == 1 ) { 
     7774                            @links = @{ $sesbot{$datosflash} }; 
     7775                            @canal1 = extraer_todos_los_enlaces_de_un_canal( $canal1[0], $button_server{$datosflash} )
    77577776                        } 
    7758                         $comando .= "Priority: 1\r\n\r\n"; 
     7777                        else { 
     7778                            @canal1 = @{ $sesbot{$datosflash} }; 
     7779                            @links = extraer_todos_los_enlaces_de_un_canal( $canal1[0], $button_server{$datosflash} ); 
     7780                        } 
     7781                        $comando = "Action: Park\r\n"; 
     7782                        $comando .= "Channel: $canal1[0]\r\n"; 
     7783                        $comando .= "Channel2: $links[0]\r\n"; 
     7784                        $comando .= "Timeout: $parktimeout\r\n\r\n"; 
    77597785                        send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 
    77607786                            0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 
    7761  
    7762                         if ( $calltimeout > 0 ) { 
    7763                             $comando = "Action: AbsoluteTimeout\r\n"; 
     7787                    } 
     7788                    else { 
     7789                        foreach my $valor (@cuales_transferir) { 
     7790                            log_debug( "$heading Will try to transfer $valor to extension number $canal_destino!", 16 ) 
     7791                              if DEBUG; 
     7792                            $comando = "Action: Redirect\r\n"; 
    77647793                            $comando .= "Channel: $valor\r\n"; 
    7765                             $comando .= "Timeout: $calltimeout\r\n"; 
    7766                             $comando .= "ActionID: timeout|$valor|$calltimeout\r\n"; 
    7767                             $comando .= "\r\n"; 
     7794                            $comando .= "Exten: $canal_destino\r\n"; 
     7795                            if ( $contexto ne "" ) { 
     7796                                $comando .= "Context: $contexto\r\n"; 
     7797                            } 
     7798                            $comando .= "Priority: 1\r\n\r\n"; 
    77687799                            send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 
    7769                                 , 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 
     7800                                0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 
     7801 
     7802                            if ( $calltimeout > 0 ) { 
     7803                                $comando = "Action: AbsoluteTimeout\r\n"; 
     7804                                $comando .= "Channel: $valor\r\n"; 
     7805                                $comando .= "Timeout: $calltimeout\r\n"; 
     7806                                $comando .= "ActionID: timeout|$valor|$calltimeout\r\n"; 
     7807                                $comando .= "\r\n"; 
     7808                                send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 
     7809                                    , 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 
     7810                            } 
     7811 
    77707812                        } 
    7771  
    77727813                    } 
    77737814                }