Frage

Ich versuche, einige Ausgangsdaten aus und PBX zu analysieren, und ich habe etwas gefunden, das ich herausfinden kann nicht wirklich. In der Dokumentation sagt es folgende

  

Informationen für Anruftyp und Funktion. Acht Zeichen für ‚Statusinformationen 3‘ mit folgenden ASCII-Werte in Hexadezimalschreibweise.

1. Character 
Bit7 Incoming call 
Bit6 Outgoing call 
Bit5 Internal call 
Bit4 CN call
2. Character 
Bit3 Transferred call (transferring party inside) 
Bit2 CN-transferred call (transferring party outside) 
Bit1 
Bit0

Alle Ideen, wie diese zu interpretieren? Ich habe keine Rohdaten zur Zeit gegen anzupassen, aber ich brauche noch, es herauszufinden.

War es hilfreich?

Lösung

  

Acht Zeichen für ‚Statusinformationen 3‘ mit folgenden ASCII-Werte in Hexadezimalschreibweise.

Wenn Sie denken, dies bedeutet folgendes.

  1. Sie werden 8 Byte erhalten - ein Byte pro Zeile, ich denke
  2. .
  3. Es ist nur der falsche Begriff. Sie bedeuten zwei hexadezimalen Ziffern pro Byte, sondern nennen sie Zeichen.

So ist es nur ein Byte mit Bitflags -. Oder genauer gesagt ein Array von acht solchen Bytes

Bit

7  incoming
6  outgoing
5  internal
4  CN
3  transfered
2  CN transfered
1  unused?
0  unused?

Sie könnte dies zu einem Enum-Karte.

[BitFlags]
public enum CallInformation : Byte
{
    Incoming     = 128,
    Outgoing     =  64,
    Internal     =  32,
    CN           =  16
    Transfered   =   8,
    CNTransfered =   4,
    Undefined    =   0
}

Andere Tipps

Wahrscheinlich werden Sie zwei Zeichen (Hex-Ziffern: 0-9, A-F) erhalten erste Ziffer steht für den Hex-Wert für die höchstwertigen 4 Bits, nächste Stelle für die am wenigsten signifikanten 4 Bits

.

Beispiel: Sie werden wahrscheinlich so etwas wie die Zeichenfolge „7C“ als Hex-Darstellung der Bitmap erhalten. 01111100

Sehr hart, ohne Daten. Ich würde vermuten, dass Sie zwei Bytes (zwei ASCII-Zeichen) erhalten werden, und müssen sie auf Bit-Ebene auseinander nehmen.

Zum Beispiel, wenn das erste Zeichen ‚A‘ ist, müssen Sie seinen Zeichencode zu sehen (65, oder hex 0x41) und dann an dem Bits aussehen. Natürlich sind die Bits gleich, unabhängig von dezimal oder hex, aber seine easer von Hand in hex zu tun. 0x41 ist, Bit 5 und Bit 1 gesetzt ist, so dass ein „interner Anruf“ sein würde. Bit 1 scheint nicht dokumentiert.

Ich bin mir nicht sicher, warum es aussieht, als ob die zwei Zeichen erfordern würde; es ist nur acht Bits dokumentiert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top