2 This file is part of GNUnet.
5 GNUnet is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published
7 by the Free Software Foundation; either version 2, or (at your
8 option) any later version.
10 GNUnet is distributed in the hope that it will be useful, but
11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with GNUnet; see the file COPYING. If not, write to the
17 Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18 Boston, MA 02111-1307, USA.
22 * @file include/gnunet_protocols_conversation.h
23 * @brief constants for network protocols
24 * @author Siomon Dieterle
25 * @author Andreas Fuchs
28 #ifndef GNUNET_PROTOCOLS_CONVERSATION_H
29 #define GNUNET_PROTOCOLS_CONVERSATION_H
34 #if 0 /* keep Emacsens' auto-indent happy */
40 /************************************************************************************************************************
41 * Messages for the Client <-> Server communication
45 * Client <-> Server message to initiate a new call
47 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_SESSION_INITIATE 30002
48 struct ClientServerSessionInitiateMessage
50 struct GNUNET_MessageHeader header;
51 struct GNUNET_PeerIdentity peer;
55 * Client <-> Server meessage to accept an incoming call
57 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_SESSION_ACCEPT 30003
58 struct ClientServerSessionAcceptMessage
60 struct GNUNET_MessageHeader header;
64 * Client <-> Server message to reject an incoming call
66 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_SESSION_REJECT 30004
67 struct ClientServerSessionRejectMessage
69 struct GNUNET_MessageHeader header;
74 * Client <-> Server message to terminat a call
76 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_SESSION_TERMINATE 30005
77 struct ClientServerSessionTerminateMessage
79 struct GNUNET_MessageHeader header;
83 * Client <-> Server message to initiate a new call
85 #define GNUNET_MESSAGE_TYPE_CONVERSATION_CS_TEST 30099
86 struct ClientServerTestMessage
88 struct GNUNET_MessageHeader header;
89 struct GNUNET_PeerIdentity peer;
92 /************************************************************************************************************************
93 * Messages for the Server <-> Client communication
97 * Server <-> Client message to initiate a new call
99 #define GNUNET_MESSAGE_TYPE_CONVERSATION_SC_SESSION_INITIATE 30006
100 struct ServerClientSessionInitiateMessage
102 struct GNUNET_MessageHeader header;
103 struct GNUNET_PeerIdentity peer;
107 * Server <-> Client meessage to accept an incoming call
109 #define GNUNET_MESSAGE_TYPE_CONVERSATION_SC_SESSION_ACCEPT 30007
110 struct ServerClientSessionAcceptMessage
112 struct GNUNET_MessageHeader header;
116 * Server <-> Client message to reject an incoming call
118 #define GNUNET_MESSAGE_TYPE_CONVERSATION_SC_SESSION_REJECT 30008
119 struct ServerClientSessionRejectMessage
121 struct GNUNET_MessageHeader header;
127 * Server <-> Client message to terminat a call
129 #define GNUNET_MESSAGE_TYPE_CONVERSATION_SC_SESSION_TERMINATE 30009
130 struct ServerClientSessionTerminateMessage
132 struct GNUNET_MessageHeader header;
136 * Server <-> Client message to signalize the client that the service is already in use
138 #define GNUNET_MESSAGE_TYPE_CONVERSATION_SC_SERVICE_BLOCKED 30010
139 struct ServerClientServiceBlockedMessage
141 struct GNUNET_MessageHeader header;
145 * Server <-> Client message to signalize the client that the called peer is not connected
147 #define GNUNET_MESSAGE_TYPE_CONVERSATION_SC_PEER_NOT_CONNECTED 30011
148 struct ServerClientPeerNotConnectedMessage
150 struct GNUNET_MessageHeader header;
154 * Server <-> Client message to signalize the client that called peer does not answer
156 #define GNUNET_MESSAGE_TYPE_CONVERSATION_SC_NO_ANSWER 30012
157 struct ServerClientNoAnswerMessage
159 struct GNUNET_MessageHeader header;
163 * Server <-> Client message to notify client of missed call
165 #define GNUNET_MESSAGE_TYPE_CONVERSATION_SC_MISSED_CALL 30013
166 struct ServerClientMissedCallMessage
168 struct GNUNET_MessageHeader header;
170 struct MissedCall *missed_call;
174 * Server <-> Client message to signalize the client that there occured an error
176 #define GNUNET_MESSAGE_TYPE_CONVERSATION_SC_ERROR 30014
177 struct ServerClientErrorMessage
179 struct GNUNET_MessageHeader header;
183 * Server <-> Client message to notify client of peer being available
185 #define GNUNET_MESSAGE_TYPE_CONVERSATION_SC_PEER_AVAILABLE 30015
186 struct ServerClientPeerAvailableMessage
188 struct GNUNET_MessageHeader header;
189 struct GNUNET_PeerIdentity peer;
190 struct GNUNET_TIME_Absolute time;
193 /************************************************************************************************************************
194 * Messages for the Mesh communication
197 struct VoIPMeshMessageHeader
199 struct GNUNET_MessageHeader header;
201 struct GNUNET_TIME_Absolute time;
205 * Mesh message to sinal the remote peer the wish to initiate a new call
207 #define GNUNET_MESSAGE_TYPE_CONVERSATION_MESH_SESSION_INITIATE 40000
208 struct MeshSessionInitiateMessage
210 struct GNUNET_MessageHeader header;
212 struct GNUNET_TIME_Absolute time;
213 struct GNUNET_PeerIdentity peer;
217 * Mesh message to signal the remote peer the acceptance of an initiated call
219 #define GNUNET_MESSAGE_TYPE_CONVERSATION_MESH_SESSION_ACCEPT 40001
220 struct MeshSessionAcceptMessage
222 struct GNUNET_MessageHeader header;
224 struct GNUNET_TIME_Absolute time;
228 * Mesh message to reject an a wish to initiate a new call
230 #define GNUNET_MESSAGE_TYPE_CONVERSATION_MESH_SESSION_REJECT 40002
231 struct MeshSessionRejectMessage
233 struct GNUNET_MessageHeader header;
235 struct GNUNET_TIME_Absolute time;
241 * Mesh message to signal a remote peer the terminatation of a call
243 #define GNUNET_MESSAGE_TYPE_CONVERSATION_MESH_SESSION_TERMINATE 40003
244 struct MeshSessionTerminateMessage
246 struct GNUNET_MessageHeader header;
248 struct GNUNET_TIME_Absolute time;
252 * Server <-> Client message to notify client of peer being available
254 #define GNUNET_MESSAGE_TYPE_CONVERSATION_MESH_PEER_AVAILABLE 40004
255 struct MeshPeerAvailableMessage
257 struct GNUNET_MessageHeader header;
259 struct GNUNET_TIME_Absolute time;
260 struct GNUNET_PeerIdentity peer;
261 struct GNUNET_TIME_Absolute call;
264 /************************************************************************************************************************
265 * Messages for the audio communication
269 #define GNUNET_MESSAGE_TYPE_CONVERSATION_TEST 50001
272 struct GNUNET_MessageHeader header;
276 * Message to transmit the audio
278 #define GNUNET_MESSAGE_TYPE_CONVERSATION_AUDIO 50000
281 struct GNUNET_MessageHeader header;
283 struct GNUNET_TIME_Absolute time;
291 #if 0 /* keep Emacsens' auto-indent happy */
298 /* ifndef GNUNET_PROTOCOLS_CONVERSATION_H */
300 /* end of gnunet_protocols_conversation.h */