#!/bin/sed -f
#
# Pbx Accounting / Billing
# Copyright 2000-2002 (c) Calin Damian
# http://pbx.sourceforge.net
#
# $Id: sed_script,v 1.1.1.1 2002/02/27 19:25:04 calinovich Exp $
#


# Process the input file
# All sed commands are explained

    # Removing unneeded lines
  #Empty lines
/^$/d
  # Init string
/ATQ0E0V1/d

  # Header string
/Date     Time/d
/----------/d

# Lines with errors which was written to /var/log/pbx.err
/?/d

    #Format date
s/^\(..\)\/\(..\)\/\(..\)/20\3-\1-\2/


    #Format time
  # Daca e 12AM
s/12\(:..AM\)/00\1/

  # Pentru cele cu PM adun 12
s/01\(:..PM\)/13\1/
s/02\(:..PM\)/14\1/
s/03\(:..PM\)/15\1/
s/04\(:..PM\)/16\1/
s/05\(:..PM\)/17\1/
s/06\(:..PM\)/18\1/
s/07\(:..PM\)/19\1/
s/08\(:..PM\)/20\1/
s/09\(:..PM\)/21\1/
s/10\(:..PM\)/22\1/
s/11\(:..PM\)/23\1/

  # Adding seconds ==) and replacing PM with AM cu :00
s/AM\|PM/:00/


    # Inseram \N in locatiile in care duration, ring, acccode sau cd sunt nule
  # Pentru ring
s/\(^.\{55\}\)    /\1\\N  /
  # Pentru acccode
s/\(^.\{69\}\)   /\1\\N /
  # Pentru cd
s/\(^.\{80\}\)  /\1\\N/
  # De asemenea pentru duration, daca e apel INCOMING si nu s-a raspuns
s/\(^.\{60\}\)        /\1\\N      /


    # In sfarsit adaugam orele la ring pentru a se conforma formatului time
s/\(^.\{55\}\)\([0-9]\)/\100:0\2/


    # Formatare pentru MySQL
  # Stergem spatiile de la sfarsitul liniilor
s/ *$//

  # Inlocuim spatiile cu , intre campuri exceptand prima situatie (nu separam cu virgula data de ora)
s/ \+/,/2g


# The END
