{if ($6 == 1)

{printf("^[[31m %s", "rcv")}

else

{printf("^[[m %s", "snd")}

}

{

if($15 == "0D")

{print ""$4"TEI:" tei($9) "Meldg: SETUP ACKNOWLEDGECRW: "$14}

else 

{

if ($10 == "7F")

{print ""$4"TEI:" tei($9) "L2: SABME"}

else 

{

if ($10 == "09")

{print ""$4"TEI:" tei($9) "L2: REJ"}

else 

{

if ($10 == "73")

{print ""$4"TEI:" tei($9) "L2: UA"}

else 

{

if ($10 == "53")

{print ""$4"TEI:" tei($9) "L2: DISC"}

else 

{

if ($15 == "4D")

{print ""$4"TEI:" tei($9) "Meldg: RELEASECRW: "$14}

else

{

if ($14 == "05" && tei($9) == "127" && $15 == "A1" && $18 == "80")

{print ""$4"TEI:" tei($9) "Meldg: SETUPCRW: "$13"BC: CCITT SpracheCDPN: " cpn() "HLC: "hlc()}

else

{

if ($14 == "05" && tei($9) == "127" && $15 == "A1" && $18 == "88")

{print ""$4"TEI:" tei($9) "Meldg: SETUPCRW: "$13"BC: uneingeschr.dig.Inf.CDPN: " cpn() "HLC: "hlc()}

else

{

if ($14 == "05" && tei($9) == "127" && $15 == "A1" && $18 == "90")

{print ""$4"TEI:" tei($9) "Meldg: SETUPCRW: "$13"BC: 3,1kHzaudioCDPN: " cpn() "HLC: "hlc()}

else

{

if ($14 == "05" && tei($9) == "127" && $15 == "A1" && $18 == "91")

{print ""$4"TEI:" tei($9) "Meldg: SETUPCRW: "$13"BC: uneingeschr dig. Ton-Inf.CDPN: " cpn() "HLC: "hlc()}

else

{

if ($15 == "05" && $18 == "80")

{print ""$4"TEI:" tei($9) "Meldg: SETUPCRW: "$14"BC: CCITT SpracheCAPN: "call()"HLC: "hlc()}

else

{

if ($15 == "05" && $18 == "88")

{print ""$4"TEI:" tei($9) "Meldg: SETUPCRW: "$14"BC: uneingeschr. digit. Info.CAPN: "call() "HLC: "hlc()}

else

{

if ($15 == "05" && $18 == "90")

{print ""$4"TEI:" tei($9) "Meldg: SETUPCRW:"$14" BC:3,1 kHz audioCAPN: "call() "HLC: "hlc()}

else

{

if ($15 == "01" && $8 != "FE")

{print ""$4"TEI:" tei($9) "Meldg: ALERTING"}

else

{

if ($15 == "02")

{print ""$4"TEI:" tei($9) "Meldg: Call Proceeding"}

else

{

if ($15 == "03")

{print ""$4"TEI:" tei($9) "Meldg: Progress"}

else

{

if ($15 == "07")

{print ""$4"TEI:" tei($9) "Meldg: CONNECT"}

else

{

if ($15 == "0F")

{print ""$4"TEI:" tei($9) "Meldg: CONNECT ACKNOWLEDGE"}

else

{

if ($15 == "20")

{print ""$4"TEI:" tei($9) "Meldg: USER INFORMATION"}

else

{

if ($15 == "21")

{print ""$4"TEI:" tei($9) "Meldg: SUSPEND REJECTCRW: "$14}

else

{

if ($15 == "22" && $13 != "62")

{print ""$4"TEI:" tei($9) "Meldg: RESUME REJECTCRW: "$14}

else

{

if ($15 == "24")

{print ""$4"TEI:" tei($9) "Meldg: HOLDCRW: "$14}

else

{

if ($15 == "25")

{print ""$4"TEI:" tei($9) "Meldg: SUSPENDCRW "$14}

else

{

if ($15 == "26")

{print ""$4"TEI:" tei($9) "Meldg: RESUMECRW: "$14}

else

{

if ($15 == "28")

{print ""$4"TEI:" tei($9) "Meldg: HOLD ACKNOWLEDGECRW: "$14}

else

{

if ($15 == "2D")

{print ""$4"TEI:" tei($9) "Meldg: SUSPEND ACKNOWLEDGECRW: "$14}

else

{

if ($15 == "2E" && $9 != "FF")

{print ""$4"TEI:" tei($9) "Meldg: RESUME ACKNOWLEDGECRW: "$14}

else

{

if ($15 == "30")

{print ""$4"TEI:" tei($9) "Meldg: HOLD REJECTCRW: "$14}

else

{

if ($15 == "31" && $13 != "62")

{print ""$4"TEI:" tei($9) "Meldg: RETRIEVECRW: "$14}

else

{

if ($15 == "33")

{print ""$4"TEI:" tei($9) "Meldg: RETRIEVE ANOWLEDGECRW: "$14}

else

{

if ($15 == "37")

{print ""$4"TEI:" tei($9) "Meldg: RETRIEVE REJECTCRW: "$14}

else

{

if ($15 == "45" && $20 != "1C")

{print ""$4"TEI:" tei($9) "Meldg: DISCONNECT"}

else

{

if ($15 == "45" && $20 == "1C" && $29 == "06")

{print ""$4"TEI:" tei($9) "Meldg: DISCONNECTGrund: Nutzer besetztCCBS: CallInfoRetain "}

else

{

if ($15 == "46")

{print ""$4"TEI:" tei($9) "Meldg: RESTART"}

else

{

if ($15 == "4E")

{print ""$4"TEI:" tei($9) "Meldg: RESTART ACKNOWLEDGE"}

else

{

if ($15 == "5A")

{print ""$4"TEI:" tei($9) "Meldg: RELEASE COMPLETE"}

else

{

if ($15 == "60")

{print ""$4"TEI:" tei($9) "Meldg: SEGMENT"}

else

{

if ($14 == "62" && $18 == "A1" && $23 == "06" && $30 == "02")

{print ""$4"TEI:" tei($9) "Meldg: FACILITYCCBS: CCBCRequest"}

else

{

if ($14 == "62" && $18 == "A2" && $25 == "06" && $32 == "02")

{print ""$4"TEI:" tei($9) "Meldg: FACILITYCCBS: Quittung CCBCRequest"}

else

{

if ($13 == "62" && $23 == "06" && $30 == "08")

{print ""$4"TEI:" tei($9) "Meldg: FACILITYCCBS: CCBCStatusRequest"}

else

{

if ($14 == "62" && $26 == "06" && $33 == "08")

{print ""$4"TEI:" tei($9) "Meldg: FACILITYCCBS: CCBCStatusRequest Antwort: Frei"}

else

{

if ($13 == "62" && $23 == "06" && $30 == "06")

{print ""$4"TEI:" tei($9) "Meldg: FACILITYCCBS: Remote user free"}

else

{

if ($13 == "62" && $23 == "06" && $30 == "05")

{print ""$4"TEI:" tei($9) "Meldg: FACILITYCCBS: CCBSErase"}

else

{

if ($13 == "62"&& $23 == "06" && $30 == "0A")

{print ""$4"TEI:" tei($9) "Meldg: FACILITYCCBS: EraseCallLinkageID "}

else

{

if ($15 == "62" &&$19 == "A1" && $26 == "04")

{print ""$4"TEI:" tei($9) "Meldg: FACILITYValue: "fac($26)}

else

{

if ($15 == "62" &&$19 == "A1" && $26 == "0D")

{print ""$4" TEI:" tei($9) "Meldg: FACILITYValue: "fac($26)"Defl.to adress: "d2nr() }

else

{

if ($14 == "62" && $13 == "00" && $18 == "A1")

{print ""$4"TEI:" tei($9) "Meldg: FACILITYValue: "fac($25)"Proc: "proc($30)" BServ: "bas($33) }

else

{

if ($13 == "62" && $12 == "00" && $17 == "A1" && $23 != "06")

{print ""$4"TEI:" tei($9) "Meldg: FACILITYValue: "fac($25)"Proc: "proc($30)" BServ: "bas($33) }

else

{

if ($14 == "62"&& $18 == "A2")

{print ""$4"TEI:" tei($9) "Meldg: FACILITYDivoQuittung " }

else

{

if ($15 == "62"&& $19 == "A2")

{print ""$4"TEI:" tei($9) "Meldg: FACILITYDivoQuittung " }

else

{

if ($14 == "62"&& $18 == "A3")

{print ""$4"TEI:" tei($9) "Meldg: FACILITYERROR " }

else

{

if ($14 == "62"&& $18 == "A4")

{print ""$4"TEI:" tei($9) "Meldg: FACILITYReject " }

else

{

if ($13 == "62" && $12 == "00" )

{print ""$4"TEI:" tei($9) "Meldg: FACILITYValue: "fac($25) }

else

{

if ($15 == "62" && $27 == "22")

{print ""$4"TEI:" tei($9) "Meldg: FACILITYAOCD-Einheiten: "$36}

else

{

if ($15 == "64")

{print ""$4"TEI:" tei($9) "Meldg: REGISTER"}

else

{

if ($15 == "6E")

{print ""$4"TEI:" tei($9) "Meldg: NOTIFY: "noti($18) }

else

{

if ($15 == "75")

{print ""$4"TEI:" tei($9) "Meldg: STATUS ENQUIRY"}

else

{

if ($15 == "79")

{print ""$4"TEI:" tei($9) "Meldg: CONGESTION CONTROL"}

else

{

if ($15 == "7D")

{print ""$4"TEI:" tei($9) "Meldg: STATUS"}

else

{

if ($15 == "7B" && $16 == 28 )

{print ""$4"TEI:" tei($9) "Meldg: INFORMATIONEinheiten: "($18-30)}

else

{

if ($15 == "7B" && $16 == 70 )

{print ""$4"TEI:" tei($9) "Meldg: INFORMATIONZiffer: "($19-30)}

else

{

if ($8 == "FE" && $9 == "FF" && $14 == "02")

{print ""$4"TEI:127 TEI-Zuweisung: "tei($15)}

else

{

if ($8 == "FE" && $9 == "FF" && $14 == "04")

{print ""$4"TEI:127 TEI-Werte überprüfen!! "}

else

{

if ($8 == "FC" && $9 == "FF" && $14 == "01")

{print ""$4"TEI:127 Bitte TEI zuweisen Wert: "tei($15)}

else

{

if ($8 == "FE" && $9 == "FF" && $14 == "03")

{print ""$4"TEI:127 Kein TEI-Werte verfügbar!! "}

else

{

if ($8 == "FE" && $9 == "FF" && $14 == "05")

{print ""$4"TEI:127 Geprüfter TEI hat den Werte: "tei($15)}

else

{

if ($8 == "FE" && $9 == "FF" && $14 == "04")

{print ""$4"TEI:127 TEI-Werte überprüfen!! "}

else

{

if ($15 == "")

{print ""$4"TEI:" tei($9) "L2: RR"}

}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}

# Funktionen

# ASCII-Ziffer 

#

function zi(a) {

return (a - 30)

}

# Called Party Number

#

function hlc() {

for (i = 17 ; i <= NF; i++)

if ($i == "7D")

{ j = (i + 3)

if ($j == "81")

return ("Telefonie")

else

if ($j == "82")

return ("Fax Gr3")

}}

function cpn() {

for (i = 17 ; i <= NF; i++)

if ($i == "70")

{ j = (i + 3)

e = (j - 2 + $(i+1))

b = 0

while ( j <= e ) { 

nu[b] = ($j-30)

j++

b++

b = b - 1

}

nb = 0

{for (i = 0; i <= b ; i++) 

nb += nu[i] * 10^(b-i) }

return (nb)

}

function call() {

for (i = 17 ; i <= NF; i++)

if ($i == "6C")

{ j = (i + 4)

e = (j - 3 + $(i+1))

b = 0

while ( j <= e ) { 

nu[b] = ($j-30)

j++

b++

b = b - 1

}

nb = 0

{for (i = 0; i <= b ; i++) 

nb += nu[i] * 10^(b-i) }

return (nb)

}

function d2nr() {

for (i = 17 ; i <= NF; i++)

if ($i == "30")

{ j = (i + 6)

e = (j - 1 + $(i+5)) #Position der Längenangabe plus Länge

b = 0

while ( j <= e ) { 

nu[b] = ($j-30)

j++

b++

b = b - 1

}

nb = 0

{for (i = 0; i < b ; i++) 

nb += nu[i] * 10^(b-i) }

return (nb)

}

#

# TEI-Berechnung

#

function tei(s) {

if (s == 81)

t = 64

else

if (s == 01)

t = 00

else

if (s == 83)

t = 65

else

if (s == 85)

t = 66 

else

if (s == 87)

t = 67

else

if (s == 89)

t = 68

else

if (s == "8B")

t = 69

else

if (s == "8D")

t = 70

else

if (s == "8F")

t = 71

else

if (s == 91)

t = 72

else

if (s == 93)

t = 73

else

if (s == 95)

t = 74

else

if (s == 97)

t = 75

else

if (s == 99)

t = 76

else

if (s == "9B")

t = 77

else

if (s == "9D")

t = 78

else

if (s == "9F")

t = 79

else

if (s == "A1" )

t = 80

else

if (s == "A3")

t = 81

else

if (s == "A5")

t = 82

else

if (s == "A7")

t = 83

else

if (s == "A9")

t = 84

else

if (s == "AB")

t = 85

else

if (s == "AD")

t = 86

else

if (s == "AF")

t = 87

else

if (s == "B1")

t = 88

else

if (s == "B3")

t = 89

else

if (s == "B5")

t = 90

else

if (s == "B7")

t = 91

else

if (s == "B9")

t = 92

else

if (s == "BB")

t = 93

else

if (s == "BD")

t = 94

else

if (s == "BF")

t = 95

else

if (s == "C1")

t = 96

else

if (s == "C3")

t = 97

else

if (s == "C5")

t = 98

else

if (s == "C7")

t = 99

else

if (s == "C9")

t = 100

else

if (s == "CB")

t = 101

else

if (s == "CD")

t = 102

else

if (s == "CF")

t = 103

else

if (s == "D1")

t = 104

else

if (s == "D3")

t = 105

else

if (s == "D5")

t = 106

else

if (s == "D7")

t = 107

else

if (s == "D9")

t = 108

else

if (s == "DB")

t = 109

else

if (s == "DD")

t = 110

else

if (s == "DF")

t = 111

else

if (s == "E1")

t = 112

else

if (s == "E3")

t = 113

else

if (s == "E5")

t = 114

else

if (s == "E7")

t = 115

else

if (s == "E9")

t = 116

else

if (s == "EB")

t = 117

else

if (s == "ED")

t = 118

else

if (s == "EF")

t = 119

else

if (s == "F1")

t = 120

else

if (s == "F3")

t = 121

else

if (s == "F5")

t = 122

else

if (s == "F7")

t = 123

else

if (s == "F9")

t = 124

else

if (s == "FB")

t = 125

else

if (s == "FD")

t = 126

else

if (s == "FF")

t = 127

return (t)

}

#

# Facility Infomatiom Identifier

#

function fac(w) {

if (w == "0A")

return ("deaktStatNotDiv")

else

if (w == "04")

return ("Beginn Dreierkonferenz")

else

if (w == "08")

return ("deaktDiv")

else

if (w == "07")

return ("aktDiv")

else

if (w == "09")

return ("aktivStatNotDiv")

else

if (w == "0D")

return ("Call deflection")

}

function noti(w){

if (w == "F9")

return ("Remote hold")

else

if (w == "C2")

return ("Conference established")

else

if (w == "FA")

return ("Remote retrieval")

}

function proc(w){

if (w == "00")

return ("cfu")

else

if (w == "01")

return ("cfb")

else

if (w == "02")

return ("cfnr")

}

function bas(w){

if (w == "00")

return ("all Serv.")

else

if (w == "01")

return ("speech")

else

if (w == "02")

return ("UDI")

else

if (w == "03")

return ("audio3k1Hz")

else

if (w == "04")

return ("UDI T/A")

else

if (w == "20")

return ("telephony3k1Hz")

else

if (w == "21")

return ("teletex")

}