Empty transfer syntax in association request

  • Hello guys,


    I am currently implementing DICOM server and testing it sometimes with K-PACS.


    My server is reporting that K-PACS proposes transfer syntax with empty UID during association establishment.


    The A-ASSOCIATE-RQ sent by K-PACS looks like this:
    ( bytes counted from 1 like in PS 3.8 )


    Bytes 1-74 - OK, all the usual stuff
    Bytes 75-99 - Application Context Item, OK
    Byte 100 - Presentation Context Start
    Bytes 108-138 - Abstract Syntax, OK
    **************** Bytes 139-142 - Transfer Syntax with zero length UID *****************
    Bytes 143-163 - Transfer Syntax with DICOM Implicit VR Little Endian, OK
    164-... - The rest of the A-ASSOCIATE-RQ, OK


    The bug is ussualy not fatal, other DICOM AEs will just select transfer syntaxes that are supported and ignore this 0 length one.


    Here is a detailed dump of A-ASSOCIATE-RQ received from K-PACS.


    The code used to dump it was:


    for(int i=0;i<len;++i)
    out << i+1 << ": " << "\thex " << std::hex << (int)src[i] << "\tdec " << std::dec << (int)src[i] << "\tchar " << (char)src[i] << std::endl;


    So the columns are: byte counted from zero, hexadecimal value of byte, decimal value, byte ascii character


    1: hex 1 dec 1 char
    2: hex 0 dec 0 char
    3: hex 0 dec 0 char
    4: hex 0 dec 0 char
    5: hex 0 dec 0 char
    6: hex db dec 219 char Ű
    7: hex 0 dec 0 char
    8: hex 1 dec 1 char
    9: hex 0 dec 0 char
    10: hex 0 dec 0 char
    11: hex 5a dec 90 char Z
    12: hex 44 dec 68 char D
    13: hex 41 dec 65 char A
    14: hex 4a dec 74 char J
    15: hex 43 dec 67 char C
    16: hex 4f dec 79 char O
    17: hex 4d dec 77 char M
    18: hex 53 dec 83 char S
    19: hex 52 dec 82 char R
    20: hex 56 dec 86 char V
    21: hex 20 dec 32 char
    22: hex 20 dec 32 char
    23: hex 20 dec 32 char
    24: hex 20 dec 32 char
    25: hex 20 dec 32 char
    26: hex 20 dec 32 char
    27: hex 4b dec 75 char K
    28: hex 50 dec 80 char P
    29: hex 53 dec 83 char S
    30: hex 65 dec 101 char e
    31: hex 72 dec 114 char r
    32: hex 76 dec 118 char v
    33: hex 65 dec 101 char e
    34: hex 72 dec 114 char r
    35: hex 20 dec 32 char
    36: hex 20 dec 32 char
    37: hex 20 dec 32 char
    38: hex 20 dec 32 char
    39: hex 20 dec 32 char
    40: hex 20 dec 32 char
    41: hex 20 dec 32 char
    42: hex 20 dec 32 char
    43: hex 0 dec 0 char
    44: hex 0 dec 0 char
    45: hex 0 dec 0 char
    46: hex 0 dec 0 char
    47: hex 0 dec 0 char
    48: hex 0 dec 0 char
    49: hex 0 dec 0 char
    50: hex 0 dec 0 char
    51: hex 0 dec 0 char
    52: hex 0 dec 0 char
    53: hex 0 dec 0 char
    54: hex 0 dec 0 char
    55: hex 0 dec 0 char
    56: hex 0 dec 0 char
    57: hex 0 dec 0 char
    58: hex 0 dec 0 char
    59: hex 0 dec 0 char
    60: hex 0 dec 0 char
    61: hex 0 dec 0 char
    62: hex 0 dec 0 char
    63: hex 0 dec 0 char
    64: hex 0 dec 0 char
    65: hex 0 dec 0 char
    66: hex 0 dec 0 char
    67: hex 0 dec 0 char
    68: hex 0 dec 0 char
    69: hex 0 dec 0 char
    70: hex 0 dec 0 char
    71: hex 0 dec 0 char
    72: hex 0 dec 0 char
    73: hex 0 dec 0 char
    74: hex 0 dec 0 char
    75: hex 10 dec 16 char //Variable Items Start, Application Context, Start
    76: hex 0 dec 0 char //Reserved byte
    77: hex 0 dec 0 char //Item length
    78: hex 15 dec 21 char //Item length=21
    79: hex 31 dec 49 char 1 //Application Context UID Start
    80: hex 2e dec 46 char .
    81: hex 32 dec 50 char 2
    82: hex 2e dec 46 char .
    83: hex 38 dec 56 char 8
    84: hex 34 dec 52 char 4
    85: hex 30 dec 48 char 0
    86: hex 2e dec 46 char .
    87: hex 31 dec 49 char 1
    88: hex 30 dec 48 char 0
    89: hex 30 dec 48 char 0
    90: hex 30 dec 48 char 0
    91: hex 38 dec 56 char 8
    92: hex 2e dec 46 char .
    93: hex 33 dec 51 char 3
    94: hex 2e dec 46 char .
    95: hex 31 dec 49 char 1
    96: hex 2e dec 46 char .
    97: hex 31 dec 49 char 1
    98: hex 2e dec 46 char .
    99: hex 31 dec 49 char 1 //Application Context UID end, Application Context end
    100: hex 20 dec 32 char //Presentation Context Start
    101: hex 0 dec 0 char //Reserved
    102: hex 0 dec 0 char //Item lenght
    103: hex 3c dec 60 char < //Item length=60
    104: hex 1 dec 1 char //Context ID=1
    105: hex 0 dec 0 char //Reserved
    106: hex 0 dec 0 char //Reserved
    107: hex 0 dec 0 char //Reserved
    108: hex 30 dec 48 char 0 //Abstract/Transfer Syntax Subitems start, Abstract Syntax start
    109: hex 0 dec 0 char //Reserved
    110: hex 0 dec 0 char //Item length
    111: hex 1b dec 27 char //Item length=27
    112: hex 31 dec 49 char 1 //Abstract syntax UID start
    113: hex 2e dec 46 char .
    114: hex 32 dec 50 char 2
    115: hex 2e dec 46 char .
    116: hex 38 dec 56 char 8
    117: hex 34 dec 52 char 4
    118: hex 30 dec 48 char 0
    119: hex 2e dec 46 char .
    120: hex 31 dec 49 char 1
    121: hex 30 dec 48 char 0
    122: hex 30 dec 48 char 0
    123: hex 30 dec 48 char 0
    124: hex 38 dec 56 char 8
    125: hex 2e dec 46 char .
    126: hex 35 dec 53 char 5
    127: hex 2e dec 46 char .
    128: hex 31 dec 49 char 1
    129: hex 2e dec 46 char .
    130: hex 34 dec 52 char 4
    131: hex 2e dec 46 char .
    132: hex 31 dec 49 char 1
    133: hex 2e dec 46 char .
    134: hex 32 dec 50 char 2
    135: hex 2e dec 46 char .
    136: hex 32 dec 50 char 2
    137: hex 2e dec 46 char .
    138: hex 31 dec 49 char 1 //Abstract Syntax UID end
    139: hex 40 dec 64 char @ //Transfer Syntax start
    140: hex 0 dec 0 char //Reserved
    141: hex 0 dec 0 char //Item Length !!!
    142: hex 0 dec 0 char //Item Length !!! ZERO LENGTH TRANSFER SYNTAX, Transfer syntax end
    143: hex 40 dec 64 char @ //Transfer syntax start
    144: hex 0 dec 0 char //Reserved
    145: hex 0 dec 0 char //Item length
    146: hex 11 dec 17 char //Item length=17
    147: hex 31 dec 49 char 1 //Transfer Syntax UID start
    148: hex 2e dec 46 char .
    149: hex 32 dec 50 char 2
    150: hex 2e dec 46 char .
    151: hex 38 dec 56 char 8
    152: hex 34 dec 52 char 4
    153: hex 30 dec 48 char 0
    154: hex 2e dec 46 char .
    155: hex 31 dec 49 char 1
    156: hex 30 dec 48 char 0
    157: hex 30 dec 48 char 0
    158: hex 30 dec 48 char 0
    159: hex 38 dec 56 char 8
    160: hex 2e dec 46 char .
    161: hex 31 dec 49 char 1
    162: hex 2e dec 46 char .
    163: hex 32 dec 50 char 2 //Transfer syntax UID end, Transfer Syntax end
    164: hex 50 dec 80 char P //User Information Item Start...
    ...


    Regards,


    Bartosz Meglicki


    National Centre for Nuclear Research
    Department of Nuclear Equipment
    ul. Andrzeja Sołtana 7
    05-400 Otwock, Poland

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!