[AsteriskBrasil] Tarifação 30/6

Sergio Jungers sergio em jungers.com.br
Quarta Abril 22 14:53:11 BRT 2009


A conta é a seguinte:

Para a maioria dos casos:

(arredondar_para_cima((tempo_total)/incremento))*incremento

Pode haver casos em que o tempo inicial não é múltiplo do incremento,
nesse caso, a conta ficaria:

(arredondar_para_cima((tempo_total-tempo_minimo)/incremento))*incremento
+tempo_minimo


Em ambos os casos, considera-se que a chamada teve duração acima do
tempo_minimo (no caso 30 segundos). Para o caso de chamada ter duração
inferior ao tempo_minimo, perceba que (tempo_total-tempo_minimo) será
negativo e então caberá tratar os casos e obrigar 

Vale lembrar que existem varios tipo de tarifacao, dentre eles:
30/6
60/60
0/60 -> skype, com custo de conexão, por exemplo
30/15
60/15
60/6
1/1

e muitos outros.

Não sei se é a forma mais otimizada, mas meu AGI tarifador é assim:

        sub calccost_cliente() {
                        my ($custo_conexao, $tempo_incluso_conexao,
$custo_por_minuto, $tempo_da_chamada, $incremento) = @_;
                        my $tempo_extra = (ceil(($tempo_da_chamada -
$tempo_incluso_conexao)/$incremento)*$incremento);
                        if ($tempo_extra < 0) {
                                $tempo_extra = 0;
                        }

                        my $custo = $custo_conexao + ($tempo_extra *
$custo_por_minuto)/60;
                        if ($custo < 0) {
                                $custo_da_chamada = 0;
                        }
                        my $tempo_total = $tempo_extra +
$tempo_incluso_conexao;
                        my %res = ("tempo", $tempo_total, "valor",
$custo);
                        $res->{'tempo'} = $tempo_total;
                        $res->{'valor'} = $custo;
                        return $res;
        }




Qualquer coisa, entra em contato.

(estão em forma de variáveis pois cada fornecedor meu tem um tipo de
tarifação, portanto, recupero os valores do banco de dados para cada
chamada)

Abraços



On Wed, 2009-04-22 at 13:37 -0300, ATTO - Rodrigo wrote:
> Fernando, normalmente os sistemas de tarifação instegrados com o 
> asterisk cobram de 6 em 6 segundos. Qual o sistema que você usa?
> 
> 
> 
> Fernando - Talkmais escreveu:
> > Pessoal bom dia,
> >  
> > Estou com a seguinte duvida:
> >  
> > Não entendi muito bem como funciona o sistema de tarifação (billing) e 
> > estou com algumas duvidas.
> >  
> > Exemplo: Realizei uma chamada que durou 33 segundos e a tarifação é de 
> > 30/6, ou seja, deveria cobrar 36 segundos. Para os bons de matemática 
> > aí da lista: Como calcular para chegar a esses 36?
> >  
> > Ou melhor, como criar uma lógica, que arredonde sempre para +6 ou algo 
> > assim?
> >  
> > Tipo,
> > falou 33 seg, cobra 36 segundos.
> > falou 45 seg, cobra 46 segundos.
> > falou 47 seg, cobra 52 segundos.
> >  
> > Alguém pode me ajudar?
> >  
> > ps: É de quebrar a cabeça ;-)
> >
> > 	
> > 	
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Openmoko Freerunner, primeiro telefone open source, disponível no Brasil rodando o Android da Google.
> > http://www.neodroid.com
> >
> > Compre uma camiseta da AsteriskBrasil.org!
> > http://www.voipmania.com.br
> >
> > Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na rede Freenode.net: #asterisk-br
> > _______________________________________________
> > Lista de discussões AsteriskBrasil.org
> > AsteriskBrasil em listas.asteriskbrasil.org
> > http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
> >
> >
> > __________ Informação do ESET NOD32 Antivirus, versão da vacina 4027 (20090422) __________
> >
> > A mensagem foi verificada pelo  ESET NOD32 Antivirus.
> >
> > http://www.eset.com
> >
> >   
> 
> 
-- 
*******************************************
** Sérgio Jungers (against HTML e-mail!) **
** Telefone:    (16) 9152-1194           **
** e-mail:      sergio em jungers.com.br    **
** msn:         jungers em hotmail.com      **
** skype:       sergiojungers            **
** fwd:         894610                   **
*******************************************



Mais detalhes sobre a lista de discussão AsteriskBrasil