511abee7ce7f038e9f886c0568e186a9aee94f4f
[dragonfly.git] / usr.sbin / i4b / isdntrace / pcause_1tr6.c
1 /*
2  * Copyright (c) 1997, 1999 Hellmuth Michaelis. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23  * SUCH DAMAGE.
24  *
25  *---------------------------------------------------------------------------
26  *
27  *      printing cause values
28  *      ---------------------
29  *
30  *      $Id: pcause_1tr6.c,v 1.6 1999/12/13 21:25:26 hm Exp $
31  *
32  * $FreeBSD: src/usr.sbin/i4b/isdntrace/pcause_1tr6.c,v 1.6.2.1 2001/08/01 17:45:08 obrien Exp $
33  * $DragonFly: src/usr.sbin/i4b/isdntrace/pcause_1tr6.c,v 1.2 2003/06/17 04:29:55 dillon Exp $
34  *
35  *      last edit-date: [Mon Dec 13 21:56:03 1999]
36  *
37  *---------------------------------------------------------------------------*/
38
39 #include "trace.h"
40 #include "pcause_1tr6.h"
41
42 char *
43 print_cause_1tr6(unsigned char code)
44 {
45         static char error_message[120];
46         char *e;
47
48         switch(code)
49         {
50                 case CAUSE_1TR6_SHUTDN:
51                         e = "normal D-channel shutdown";
52                         break;
53
54                 case CAUSE_1TR6_ICRV:
55                         e = "invalid call reference value";
56                         break;
57
58                 case CAUSE_1TR6_BSNI:
59                         e = "bearer service not implemented";
60                         break;
61
62                 case CAUSE_1TR6_CIDNE:
63                         e = "call identity does not exist";
64                         break;
65
66                 case CAUSE_1TR6_CIIU:
67                         e = "call identity in use";
68                         break;
69
70                 case CAUSE_1TR6_NCA:
71                         e = "no channel available";
72                         break;
73
74                 case CAUSE_1TR6_RFNI:
75                         e = "requested facility not implemented";
76                         break;
77
78                 case CAUSE_1TR6_RFNS:
79                         e = "requested facility not subscribed";
80                         break;
81
82                 case CAUSE_1TR6_OCB:
83                         e = "outgoing calls barred";
84                         break;
85
86                 case CAUSE_1TR6_UAB:
87                         e = "user access busy";
88                         break;
89
90                 case CAUSE_1TR6_NECUG:
91                         e = "non existent CUG";
92                         break;
93
94                 case CAUSE_1TR6_NECUG1:
95                         e = "non existent CUG";
96                         break;
97
98                 case CAUSE_1TR6_SPV:
99                         e = "kommunikationsbeziehung als SPV nicht erlaubt";
100                         break;
101
102                 case CAUSE_1TR6_DNO:
103                         e = "destination not obtainable";
104                         break;
105
106                 case CAUSE_1TR6_NC:
107                         e = "number changed";
108                         break;
109
110                 case CAUSE_1TR6_OOO:
111                         e = "out of order";
112                         break;
113
114                 case CAUSE_1TR6_NUR:
115                         e = "no user responding";
116                         break;
117
118                 case CAUSE_1TR6_UB:
119                         e = "user busy";
120                         break;
121
122                 case CAUSE_1TR6_ICB:
123                         e = "incoming calls barred";
124                         break;
125
126                 case CAUSE_1TR6_CR:
127                         e = "call rejected";
128                         break;
129
130                 case CAUSE_1TR6_NCO:
131                         e = "network congestion";
132                         break;
133
134                 case CAUSE_1TR6_RUI:
135                         e = "remote user initiated";
136                         break;
137
138                 case CAUSE_1TR6_LPE:
139                         e = "local procedure error";
140                         break;
141
142                 case CAUSE_1TR6_RPE:
143                         e = "remote procedure error";
144                         break;
145
146                 case CAUSE_1TR6_RUS:
147                         e = "remote user suspended";
148                         break;
149
150                 case CAUSE_1TR6_RUR:
151                         e = "remote user resumed";
152                         break;
153
154                 case CAUSE_1TR6_UIDL:
155                         e = "user info discharded locally";
156                         break;
157
158                 default:
159                         e = "UNKNOWN error occured";
160                         break;
161         }
162
163         sprintf(error_message, "0x%02x: %s", code & 0x7f, e);   
164         return(error_message);
165 }
166
167 /* EOF */