summaryrefslogtreecommitdiff
path: root/epan/dissectors/asn1/c1222/c1222.asn
blob: 39ac7756a359b0591702cd5b075653e87b381f3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
-- C1222 PROTOCOL
--

C1222-PROTOCOL DEFINITIONS ::=
BEGIN

MESSAGE  ::= [APPLICATION 0] IMPLICIT SEQUENCE {
    aSO-context                   [1]  ASO-qualifier OPTIONAL,
    called-AP-title               [2]  Called-AP-title OPTIONAL,
    called-AP-invocation-id       [4]  Called-AP-invocation-id OPTIONAL,
    calling-AP-title              [6]  Calling-AP-title OPTIONAL,
    calling-AE-qualifier          [7]  Calling-AE-qualifier OPTIONAL,
    calling-AP-invocation-id      [8]  Calling-AP-invocation-id,
    mechanism-name                [11] IMPLICIT Mechanism-name OPTIONAL,
    calling-authentication-value  [12] Calling-authentication-value OPTIONAL,
    user-information              [30] User-information
}

ASO-qualifier ::= OBJECT IDENTIFIER

Called-AP-title ::= CHOICE {
    called-ap-title-abs OBJECT IDENTIFIER,
    called-ap-title-rel [0] IMPLICIT RELATIVE-OID
}
Calling-AP-title ::= CHOICE {
    calling-ap-title-abs OBJECT IDENTIFIER,
    calling-ap-title-rel [0] IMPLICIT RELATIVE-OID
}
AP-invocation-id ::= INTEGER
Called-AP-invocation-id ::= AP-invocation-id
Calling-AP-invocation-id ::= AP-invocation-id
AE-qualifier ::= INTEGER
Calling-AE-qualifier ::= AE-qualifier
Mechanism-name ::= OBJECT IDENTIFIER

-- this is all of the authentication mechanism related stuff 

Calling-authentication-value ::= [2] IMPLICIT SEQUENCE {
    calling-authentication-value-indirect   INTEGER DEFAULT 0,
    calling-authentication-value-encoding   Authentication-value-encoding
}

Authentication-value-encoding ::= CHOICE { 
    calling-authentication-value-single-asn1    [0] Calling-authentication-value-single-asn1, 
    calling-authentication-value-octet-aligned  [1] IMPLICIT OCTET STRING
}

Calling-authentication-value-single-asn1 ::= CHOICE { 
    calling-authentication-value-c1222   Calling-authentication-value-c1222,
    calling-authentication-value-c1221   Calling-authentication-value-c1221
}

Calling-authentication-value-c1222 ::= [1] IMPLICIT SEQUENCE {
    key-id-element [0] IMPLICIT Key-id-element OPTIONAL,
    iv-element     [1] IMPLICIT Iv-element OPTIONAL
}

Key-id-element ::= OCTET STRING (SIZE(1))
Iv-element ::= OCTET STRING (SIZE(4))

Calling-authentication-value-c1221 ::= [0] IMPLICIT CHOICE {
    c1221-auth-identification   [0] IMPLICIT OCTET STRING (SIZE(3|5..259)),
    c1221-auth-request          [0] IMPLICIT OCTET STRING (SIZE(1..255)),
    c1221-auth-response         [0] IMPLICIT OCTET STRING (SIZE(0|1..255)),
    ...
}

-- now the user information (EPSEM) 
User-information ::= EXTERNAL 

--User-information EPSEM-TYPE ::= { ... }

--EPSEM-TYPE ::= CLASS {
--  &direct-reference OBJECT IDENTIFIER OPTIONAL,
--  &octet-aligned [1] IMPLICIT OCTET STRING
--}


END