Changeset 82
- Timestamp:
- 06/13/08 21:30:32 (5 months ago)
- Files:
-
- trunk/op_server.pl (modified) (20 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/op_server.pl
r77 r82 2368 2368 $canalaqui = 1; 2369 2369 } 2370 if ( $key =~ /^Server/i && $val eq $server) {2370 if ( $key =~ /^Server/i && ( $val eq $server || $server eq "-1" ) ) { 2371 2371 $serveraqui = 1; 2372 2372 log_debug( "$heading server coincide $server = $val\n", 16 ) if DEBUG; … … 7569 7569 $comando .= "Priority: 1\r\n\r\n"; 7570 7570 } 7571 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 7572 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 7571 if ( $button_server{$datosflash} == -1 ) { 7572 send_command_to_managers($comando); 7573 } 7574 else { 7575 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 7576 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 7577 } 7573 7578 7574 7579 $tab = substr( $tab, 0, -1 ) if DEBUG; … … 7616 7621 $comando .= "Priority: 1\r\n\r\n"; 7617 7622 } 7618 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 7619 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 7623 if ( $button_server{$datosflash} == -1 ) { 7624 send_command_to_managers($comando); 7625 } 7626 else { 7627 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 7628 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 7629 } 7620 7630 7621 7631 $tab = substr( $tab, 0, -1 ) if DEBUG; … … 7662 7672 $comando .= "\r\n"; 7663 7673 7664 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 7665 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 7674 if ( $button_server{$datosflash} == -1 ) { 7675 send_command_to_managers($comando); 7676 } 7677 else { 7678 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 7679 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 7680 } 7666 7681 $tab = substr( $tab, 0, -1 ) if DEBUG; 7667 7682 return; … … 7711 7726 $comando .= "ActionID: monitor-$monaction-$ses\r\n"; 7712 7727 $comando .= $extracomand . "\r\n"; 7713 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 7714 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 7728 if ( $button_server{$datosflash} == -1 ) { 7729 send_command_to_managers($comando); 7730 } 7731 else { 7732 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 7733 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 7734 } 7715 7735 } 7716 7736 } … … 7724 7744 $comando .= "Channel: $_\r\n\r\n"; 7725 7745 log_debug( "-- Command received: $accion chan $_", 32 ) if DEBUG; 7726 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 7727 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 7728 7729 # $comando = "Action: Command\r\n"; 7730 # $comando .= "Command: soft hangup $_\r\n\r\n"; 7731 # send_command_to_manager($comando, $p[$button_server{$datosflash}]); 7746 7747 if ( $button_server{$datosflash} == -1 ) { 7748 send_command_to_managers($comando); 7749 } 7750 else { 7751 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 7752 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 7753 } 7732 7754 } 7733 7755 } … … 7742 7764 $comando .= "ActionID: meetmemute$boton_con_contexto\r\n"; 7743 7765 $comando .= "Command: meetme mute $conference $meetmemember\r\n\r\n"; 7744 send_command_to_manager( $comando, $p[ $button_server{$boton_con_contexto} ], 7745 0, $astmanproxy_servers[ $button_server{$boton_con_contexto} ] ); 7766 7767 if ( $button_server{$boton_con_contexto} == -1 ) { 7768 send_command_to_managers($comando); 7769 } 7770 else { 7771 send_command_to_manager( $comando, $p[ $button_server{$boton_con_contexto} ], 7772 0, $astmanproxy_servers[ $button_server{$boton_con_contexto} ] ); 7773 } 7746 7774 } 7747 7775 elsif ( $accion =~ /^meetmeunmute/ ) { … … 7755 7783 $comando .= "ActionID: meetmeunmute$boton_con_contexto\r\n"; 7756 7784 $comando .= "Command: meetme unmute $conference $meetmemember\r\n\r\n"; 7757 send_command_to_manager( $comando, $p[ $button_server{$boton_con_contexto} ], 7758 0, $astmanproxy_servers[ $button_server{$boton_con_contexto} ] ); 7759 } 7760 7785 7786 if ( $button_server{$boton_con_contexto} == -1 ) { 7787 send_command_to_managers($comando); 7788 } 7789 else { 7790 send_command_to_manager( $comando, $p[ $button_server{$boton_con_contexto} ], 7791 0, $astmanproxy_servers[ $button_server{$boton_con_contexto} ] ); 7792 } 7793 } 7794 7795 elsif ( $accion =~ /^atxfer/ ) { 7796 log_debug( "$heading ATXFER extension_transfer($origin_channel)", 1 ) if DEBUG; 7797 my $nro_boton_destino = $accion; 7798 $nro_boton_destino =~ s/^atxfer//g; 7799 my $contextoaagregar = ""; 7800 if ( $panelcontext ne "GENERAL" ) { 7801 $contextoaagregar = "&$panelcontext"; 7802 } 7803 my $indice = $origin_server . "^" . $origin_channel . $contextoaagregar; 7804 my $originate = $extension_transfer{$indice}; 7805 $originate =~ s/-?\d+\^(.*)/$1/; 7806 foreach ( keys(%buttons) ) { 7807 log_debug( "$heading comparing $buttons{$_} with btn_destino $btn_destino", 1 ) if DEBUG; 7808 if ( $buttons{$_} eq $btn_destino ) { 7809 if ( $canal =~ /^_/ ) { 7810 my @canalarray = @{ $sesbot{$btn_destino} }; 7811 my $canalses = $canalarray[0]; 7812 my ( $newcanal, $newses ) = separate_session_from_channel($canalses); 7813 $canal = $newcanal; 7814 } 7815 $canal =~ s/(.*)=(.*)/$1/g; 7816 log_debug( "$heading match for $btn_destino the channel is $canal", 1 ) 7817 if DEBUG; 7818 my @links = extraer_todos_los_enlaces_de_un_canal( $canal, $button_server{$datosflash} ); 7819 my @canal_transferir = @{ $sesbot{$btn_destino} }; 7820 7821 my $cuantos = @links; 7822 if ( $cuantos <= 0 ) { 7823 7824 $canal_destino = retrieve_extension($origin_server . "^" . $origin_channel); 7825 if ( $canal_destino ne "-1" ) { 7826 if ( $canal_destino =~ /\@/ ) { 7827 ( $canal_destino, $contexto ) = split( /\@/, $canal_destino ); 7828 } 7829 } 7830 $comando = "Action: Originate\r\n"; 7831 $comando .= "Channel: $destino\r\n"; 7832 $comando .= "Exten: $canal_destino\r\n"; 7833 $comando .= "Context: $contexto\r\n"; 7834 $comando .= "Priority: 1\r\n\r\n"; 7835 } 7836 else { 7837 7838 log_debug( "** $canal_transferir[0] $links[0] will be transferred to $origin_channel ($originate)", 1 ) 7839 if DEBUG; 7840 7841 my ( $vmext, $vmctx ) = split( /@/, $originate ); 7842 $comando = "Action: Atxfer\r\n"; 7843 $comando .= "Channel: " . $canal_transferir[0] . "\r\n"; 7844 $comando .= "Exten: $vmext\r\n"; 7845 $comando .= "Context: $vmctx\r\n"; 7846 $comando .= "ActionID: atxfer\r\n"; 7847 } 7848 if ( $button_server{$nro_boton_destino} == -1 ) { 7849 send_command_to_managers($comando); 7850 } 7851 else { 7852 send_command_to_manager( $comando, $p[ $button_server{$nro_boton_destino} ], 7853 0, $astmanproxy_servers[ $button_server{$nro_boton_destino} ] ); 7854 } 7855 last; 7856 } 7857 } 7858 } 7761 7859 elsif ( $accion =~ /^conference/ ) { 7762 7860 log_debug( "$heading CONFERENCE extension_transfer($origin_channel)", 1 ) if DEBUG; … … 7764 7862 my $indice = $origin_server . "^" . $origin_channel; 7765 7863 my $originate = $extension_transfer{$indice}; 7766 $originate =~ s/ \d+\^(.*)/$1/;7864 $originate =~ s/-?\d+\^(.*)/$1/; 7767 7865 foreach ( keys(%buttons) ) { 7768 7866 log_debug( "$heading comparo $buttons{$_} con btn_destino $btn_destino", 1 ) if DEBUG; … … 7828 7926 } 7829 7927 } 7830 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 7831 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 7928 if ( $button_server{$datosflash} == -1 ) { 7929 send_command_to_managers($comando); 7930 } 7931 else { 7932 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 7933 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 7934 } 7832 7935 last; 7833 7936 } … … 7841 7944 $comando .= "Command: database put clid $destino "; 7842 7945 $comando .= "\"$clid\"\r\n\r\n"; 7843 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 7844 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 7946 if ( $button_server{$datosflash} == -1 ) { 7947 send_command_to_managers($comando); 7948 } 7949 else { 7950 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 7951 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 7952 } 7845 7953 } 7846 7954 … … 7877 7985 $comando .= "Channel2: $links[0]\r\n"; 7878 7986 $comando .= "Timeout: $parktimeout\r\n\r\n"; 7879 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 7880 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 7987 if ( $button_server{$datosflash} == -1 ) { 7988 send_command_to_managers($comando); 7989 } 7990 else { 7991 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 7992 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 7993 } 7881 7994 } 7882 7995 else { … … 7891 8004 } 7892 8005 $comando .= "Priority: 1\r\n\r\n"; 7893 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 7894 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 8006 if ( $button_server{$datosflash} == -1 ) { 8007 send_command_to_managers($comando); 8008 } 8009 else { 8010 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 8011 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 8012 } 7895 8013 7896 8014 if ( $calltimeout > 0 ) { … … 7900 8018 $comando .= "ActionID: timeout|$valor|$calltimeout\r\n"; 7901 8019 $comando .= "\r\n"; 7902 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 7903 , 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 8020 if ( $button_server{$datosflash} == -1 ) { 8021 send_command_to_managers($comando); 8022 } 8023 else { 8024 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 8025 , 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 8026 } 7904 8027 } 7905 8028 … … 7923 8046 $comando .= "Command: database put clid $destino "; 7924 8047 $comando .= "\"$clid\"\r\n\r\n"; 7925 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 7926 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 8048 if ( $button_server{$datosflash} == -1 ) { 8049 send_command_to_managers($comando); 8050 } 8051 else { 8052 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 8053 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 8054 } 7927 8055 } 7928 8056 … … 8004 8132 $comando .= "\r\n"; 8005 8133 } 8006 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 8007 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 8134 if ( $button_server{$datosflash} == -1 ) { 8135 send_command_to_managers($comando); 8136 } 8137 else { 8138 send_command_to_manager( $comando, $p[ $button_server{$datosflash} ], 8139 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 8140 } 8008 8141 } 8009 8142 elsif ( $accion =~ /^dial/ ) { … … 8025 8158 $comando .= "Priority: 1\r\n"; 8026 8159 $comando .= "\r\n"; 8027 send_command_to_manager( $comando, $servidor_dial, 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 8160 if ( $button_server{$datosflash} == -1 ) { 8161 send_command_to_managers($comando); 8162 } 8163 else { 8164 send_command_to_manager( $comando, $servidor_dial, 0, $astmanproxy_servers[ $button_server{$datosflash} ] ); 8165 } 8028 8166 } 8029 8167 } … … 9147 9285 } 9148 9286 9287 sub send_command_to_managers { 9288 my $comando = shift; 9289 foreach (@p) { 9290 send_command_to_manager( $comando, $_ ); 9291 } 9292 } 9293 9149 9294 sub send_command_to_manager { 9150 9295 my $comando = shift; … … 9154 9299 my @todos_sockets = (); 9155 9300 9156 if ( !defined($socket) && $astmanproxy_server eq "" ) {9157 log_debug( "No socket defined nor astmanproxy", 32 ) if DEBUG;9158 return;9159 }9301 # if ( !defined($socket) && $astmanproxy_server eq "" ) { 9302 # log_debug( "No socket defined nor astmanproxy", 32 ) if DEBUG; 9303 # return; 9304 # } 9160 9305 9161 9306 if ( !defined($noneedtoauth) ) { … … 9570 9715 9571 9716 if ( !$keys_socket{$socket} ) { 9572 print "nocrypt = 1\n";9573 9717 $nocrypt = 1; 9574 9718 }
