Start the Big Split...
[siplcs.git] / src / sipe-dialog.h
blob085ea6de01139bccb89b922392f5a506f0b67598
1 /**
2 * @file sipe-dialog.h
4 * pidgin-sipe
6 * Copyright (C) 2009 SIPE Project <http://sipe.sourceforge.net/>
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 /* dialog is the new term for call-leg */
24 struct sip_dialog {
25 gchar *with; /* URI */
26 gchar *endpoint_GUID;
27 /**
28 * >0 - pro
29 * <0 - contra
30 * 0 - didn't participate
31 */
32 int election_vote;
33 gchar *ourtag;
34 gchar *theirtag;
35 gchar *theirepid;
36 gchar *callid;
37 GSList *routes;
38 gchar *request;
39 GSList *supported; /* counterparty capabilities */
40 int cseq;
41 gboolean is_established;
42 struct transaction *outgoing_invite;
45 /**
46 * Free dialog structure
48 * @param dialog (in) Dialog to be freed. May be NULL.
50 void free_dialog(struct sip_dialog *dialog);
52 /**
53 * Fill dialog structure from SIP message
55 * @param msg (in) mesage
56 * @param dialog (in,out) dialog to fill
57 * @param outgoing (in) outgoing or incoming message
59 void sipe_parse_dialog(const struct sipmsg *msg,
60 struct sip_dialog *dialog,
61 gboolean outgoing);