Fix #258: V&V call gets rejected when IPv6 is enabled (III)
[siplcs.git] / src / core / sdpmsg.h
blob1336901b70b60c3332a1075a87d3da169333a7fe
1 /**
2 * @file sdpmsg.h
4 * pidgin-sipe
6 * Copyright (C) 2014 SIPE Project <http://sipe.sourceforge.net/>
7 * Copyright (C) 2010 Jakub Adam <jakub.adam@ktknet.cz>
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 struct sdpmsg {
25 gchar *ip; /* currently this has to be an IPv4 address */
26 GSList *media;
27 SipeIceVersion ice_version;
30 struct sdpmedia {
31 gchar *name;
32 gchar *ip; /* currently this has to be an IPv4 address */
33 guint port;
35 GSList *attributes;
36 GSList *candidates;
37 GSList *codecs;
38 GSList *remote_candidates;
41 struct sdpcandidate {
42 gchar *foundation;
43 SipeComponentType component;
44 SipeCandidateType type;
45 SipeNetworkProtocol protocol;
46 guint32 priority;
47 gchar *ip; /* currently this has to be an IPv4 address */
48 guint port;
49 gchar *base_ip;
50 guint base_port;
51 gchar *username;
52 gchar *password;
55 struct sdpcodec {
56 gint id;
57 gchar *name;
58 gint clock_rate;
59 SipeMediaType type;
60 GSList *parameters;
63 /**
64 * Parses SDP message into @c sdpmsg structure.
66 * @param msg SDP message as character string
68 * @return New @c sdpmsg or NULL if message can not be parsed.
70 struct sdpmsg *sdpmsg_parse_msg(gchar *msg);
72 /**
73 * Creates a SDP message from the @c sdpmsg structure.
75 * @param msg a @c sdpmsg
77 * @return SDP message as a character string that must be g_free'd after use.
79 gchar *sdpmsg_to_string(const struct sdpmsg *msg);
81 /**
82 * Deallocates @c sdpmsg.
84 void sdpmsg_free(struct sdpmsg *msg);
86 /**
87 * Deallocates @c sdpcodec.
89 void sdpcodec_free(struct sdpcodec *codec);
91 /**
92 * Deallocates @c sdpmedia.
94 void sdpmedia_free(struct sdpmedia *media);