Cara, sem entrar em muitos detalhes, segue código em python que faz isso connection_cost = custo de conexão (geralmente 0, muito raro ter algum... por exemplo, tinha um plano da TIM que cobrava R$ 0,25 a conexão e não cobrava o minuto) minimum_duration = a fração mínima (geralmente 30 segundos) fraction = a fração que é bilhetada (6 pra bilhetar de 6 em 6 segundos) minute_cost = o custo por minuto
round( float(connection_cost) + ( max( math.ceil( billsec/float(fraction) )*float(fraction), minimum_duration ) )/float(60)*float(minute_cost), 2) 2015-12-28 16:48 GMT-02:00 Junior Freitas <[email protected]>: > Sres, boa tarde. > > Poderiam me ajudar, estou precisando tarifar o campo billsec do > asteriskcdrdb para comparar com a enviada pela operadora, mas não estou > conseguindo chegar a fórmula de tarifação. > > Meu provedor me cobra no formato 30/6 com custo de 0,13 centavos o minuto > > A regra seria: > Tempo mínimo de tarifação: 30 segundos; > Unidade de tarifação: 06 segundos > Custo Minuto: 0.13 > > Exemplo: > > Ligação de 25 segundos: serão tarifados 30 segundos > Ligação de 31 segundos: serão tarifados 30 + 06 = 36 segundos > Ligação de 37 segundos: serão tarifados 30 + 06 + 06 = 42 segundos > > Alguém teria esses cálculos ou algo parecido que eu pudesse seguir como > modelo e chegar a esse resultado. > > No google quase não tem essa informação, e os que eu achei tentei fazer > mas sem sucesso, segue abaixo o exemplo da fórmula que estou usando e como > está o relatório em anexo. > > Não sei programar em php, e sim curioso, logo peço desculpa pelo código. > > tarifador.php > > $query = "SELECT calldate, src, dst, duration, billsec, disposition, > uniqueid FROM $tablename WHERE calldate >= '".$dtinicial."' AND billsec > 0 > ORDER BY calldate DESC LIMIT 20 "; > $result = mysql_query($query); > > // Return the results, loop through them and echo > > while($row = mysql_fetch_array($result)) > > { > > $segundos = $row['billsec']; > $val_minuto = 0.13; > $val_minuto30 = $val_minuto /2; > $val_minuto2 = $val_minuto / 10; > $val_minuto3 = $val_minuto2 * $segundos + $val_minuto; > > if ($segundos <= 30){ > $x = "{$val_minuto30}"; > > }else{ > $x = "{$val_minuto3}"; > } > > > > Obrigado a todos pela ajuda e Feliz Ano Novo!!! > > > _______________________________________________ > KHOMP: completa linha de placas externas FXO, FXS, GSM e E1 > Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7 > Intercomunicador e acesso remoto via rede IP e telefones IP > Conheça todo o portfólio em www.Khomp.com > _______________________________________________ > Para remover seu email desta lista, basta enviar um email em branco para > [email protected] > -- -----BEGIN GEEK CODE BLOCK----- Version: 3.12 GCS/CC/G/IT/L/M/MU d+(-)@> s:+> !a C++++$ UBL*++++$ P+ L+++(++++)>+++++ E+ W+++ !N !o+ K-- !w--- O++ M++ !V PS++ PE- Y+ PGP++ t++ 5++ !X R+++ tv-- b+++ DI+++ D+++ G++ e h- r+++ y++** ------END GEEK CODE BLOCK------
_______________________________________________ KHOMP: completa linha de placas externas FXO, FXS, GSM e E1 Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7 Intercomunicador e acesso remoto via rede IP e telefones IP Conheça todo o portfólio em www.Khomp.com _______________________________________________ Para remover seu email desta lista, basta enviar um email em branco para [email protected]

