2006-12-21 06:30:28 +00:00
|
|
|
/*
|
|
|
|
* This file is part of the Sofia-SIP package
|
|
|
|
*
|
|
|
|
* Copyright (C) 2005 Nokia Corporation.
|
|
|
|
*
|
|
|
|
* Contact: Pekka Pessi <pekka.pessi@nokia.com>
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public License
|
|
|
|
* as published by the Free Software Foundation; either version 2.1 of
|
|
|
|
* the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful, but
|
|
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
|
|
|
* 02110-1301 USA
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef SIP_HEADER_H
|
|
|
|
/**Defined when <sofia-sip/sip_header.h> has been included.*/
|
2008-12-16 18:05:22 +00:00
|
|
|
#define SIP_HEADER_H
|
2006-12-21 06:30:28 +00:00
|
|
|
|
2008-12-16 18:05:22 +00:00
|
|
|
/**@file sofia-sip/sip_header.h
|
2006-12-21 06:30:28 +00:00
|
|
|
*
|
|
|
|
* SIP parser library prototypes.
|
|
|
|
*
|
|
|
|
* @author Pekka Pessi <Pekka.Pessi@nokia.com>.
|
|
|
|
*
|
|
|
|
* @date Created: Tue Jun 13 02:58:26 2000 ppessi
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef SU_ALLOC_H
|
|
|
|
#include <sofia-sip/su_alloc.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef SU_TAG_H
|
|
|
|
#include <sofia-sip/su_tag.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef SIP_H
|
|
|
|
#include <sofia-sip/sip.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef MSG_HEADER_H
|
|
|
|
#include <sofia-sip/msg_header.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef _STRING_H
|
|
|
|
#include <string.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
SOFIA_BEGIN_DECLS
|
|
|
|
|
Sync to current darcs tree:
Mon Sep 17 14:50:04 EDT 2007 Pekka.Pessi@nokia.com
* sofia-sip/sip_util.h: updated documentation
Mon Sep 17 14:50:18 EDT 2007 Pekka.Pessi@nokia.com
* sofia-sip/tport_tag.h: updated documentation
Mon Sep 17 14:50:28 EDT 2007 Pekka.Pessi@nokia.com
* soa_tag.c: updated documentation
Wed Sep 19 12:50:01 EDT 2007 Pekka.Pessi@nokia.com
* msg: updated documentation
Wed Sep 19 13:29:50 EDT 2007 Pekka.Pessi@nokia.com
* url: updated documentation
Wed Sep 19 13:32:14 EDT 2007 Pekka.Pessi@nokia.com
* nth: updated documentation
Wed Sep 19 13:32:27 EDT 2007 Pekka.Pessi@nokia.com
* nea: updated documentation
Wed Sep 19 13:33:36 EDT 2007 Pekka.Pessi@nokia.com
* http: updated documentation
Wed Sep 19 13:36:58 EDT 2007 Pekka.Pessi@nokia.com
* bnf: updated documentation
Wed Sep 19 13:38:58 EDT 2007 Pekka.Pessi@nokia.com
* nua: updated nua_stack_init_handle() prototype
Wed Sep 19 18:45:56 EDT 2007 Pekka.Pessi@nokia.com
* sip: added sip_name_addr_xtra(), sip_name_addr_dup()
Wed Sep 19 19:00:19 EDT 2007 Pekka.Pessi@nokia.com
* sip_basic.c: cleaned old crud
Thu Sep 20 13:34:04 EDT 2007 Pekka.Pessi@nokia.com
* iptsec: updated documentation
Thu Sep 20 13:36:22 EDT 2007 Pekka.Pessi@nokia.com
* tport: updated documentation
Thu Sep 20 13:36:56 EDT 2007 Pekka.Pessi@nokia.com
* su: updated documentation
Removed internal files from doxygen-generated documentation.
Thu Sep 20 13:38:29 EDT 2007 Pekka.Pessi@nokia.com
* soa: fixed documentation
Thu Sep 20 13:39:56 EDT 2007 Pekka.Pessi@nokia.com
* sdp: updated documentation
Thu Sep 20 13:40:16 EDT 2007 Pekka.Pessi@nokia.com
* ipt: updated documentation
Thu Sep 20 14:24:20 EDT 2007 Pekka.Pessi@nokia.com
* nta: updated documentation
Thu Sep 20 14:41:04 EDT 2007 Pekka.Pessi@nokia.com
* nua: updated documentation
Updated tag documentation.
Moved doxygen doc entries from sofia-sip/nua_tag.h to nua_tag.c.
Removed internal datatypes and files from the generated documents.
Wed Sep 19 13:34:20 EDT 2007 Pekka.Pessi@nokia.com
* docs: updated the generation of documentation. Updated links to header files.
Thu Sep 20 08:45:32 EDT 2007 Pekka.Pessi@nokia.com
* sip/Makefile.am: added tags to <sofia-sip/sip_extra.h>
Added check for extra tags in torture_sip.c.
Thu Sep 20 14:45:22 EDT 2007 Pekka.Pessi@nokia.com
* stun: updated documentation
Wed Jul 4 18:55:20 EDT 2007 Pekka.Pessi@nokia.com
* torture_heap.c: added tests for ##sort() and su_smoothsort()
Wed Jul 4 18:56:59 EDT 2007 Pekka.Pessi@nokia.com
* Makefile.am: added smoothsort.c
Fri Jul 13 12:38:44 EDT 2007 Pekka.Pessi@nokia.com
* sofia-sip/heap.h: heap_remove() now set()s index to 0 on removed item
Mon Jul 23 11:14:22 EDT 2007 Pekka.Pessi@nokia.com
* sofia-sip/heap.h: fixed bug in heap##remove()
If left kid was in heap but right was not, left kid was ignored.
Wed Jul 4 18:51:08 EDT 2007 Pekka.Pessi@nokia.com
* smoothsort.c: added
Wed Jul 4 18:51:34 EDT 2007 Pekka.Pessi@nokia.com
* heap.h: using su_smoothsort()
Fri Jul 6 10:20:27 EDT 2007 Pekka.Pessi@nokia.com
* smoothsort.c: added
Wed Sep 19 17:40:30 EDT 2007 Pekka.Pessi@nokia.com
* msg_parser.awk: generate two parser tables, default and extended
Wed Sep 19 18:39:45 EDT 2007 Pekka.Pessi@nokia.com
* msg_parser.awk: just generate list of extra headers
Allocate extended parser dynamically.
Wed Sep 19 18:59:59 EDT 2007 Pekka.Pessi@nokia.com
* sip: added Remote-Party-ID, P-Asserted-Identity, P-Preferred-Identity
Added functions sip_update_default_mclass() and sip_extend_mclass()
for handling the extended parser. Note that Reply-To and Alert-Info are only
available with the extended parser.
Wed Sep 19 19:05:44 EDT 2007 Pekka.Pessi@nokia.com
* RELEASE: updated
Thu Sep 20 13:38:59 EDT 2007 Pekka.Pessi@nokia.com
* sip: updated documentation
Thu Sep 20 14:17:28 EDT 2007 Pekka.Pessi@nokia.com
* docs/conformance.docs: updated
Mon Oct 1 10:11:14 EDT 2007 Pekka.Pessi@nokia.com
* tport_tag.c: re-enabled tptag_trusted
Thu Oct 4 09:21:07 EDT 2007 Pekka.Pessi@nokia.com
* su_osx_runloop.c: moved virtual function table after struct definition
Preparing for su_port_vtable_t refactoring.
Thu Oct 4 10:22:03 EDT 2007 Pekka.Pessi@nokia.com
* su_source.c: refactored initialization/deinitialization
Fri Oct 5 04:58:18 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* sip_extra.c: fixed prototypes with isize_t
Fri Oct 5 04:58:45 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* test_nta_api.c: removed warnings about signedness
Fri Oct 5 04:59:02 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* test_nua_params.c: removed warnings about constness
Fri Oct 5 07:20:26 EDT 2007 Pekka Pessi <first.lastname@nokia.com>
* su_port.h, su_root.c: cleaned argument checking
The su_root_*() and su_port_*() functions now check their arguments once
and do not assert() with NULL arguments. The sur_task->sut_port should
always be valid while su_root_t is alive.
Fri Oct 5 07:22:09 EDT 2007 Pekka Pessi <first.lastname@nokia.com>
* su: added su_root_obtain(), su_root_release() and su_root_has_thread()
When root is created with su_root_create() or cloned with su_clone_start(),
the resulting root is obtained by the calling or created thread,
respectively.
The root can be released with su_root_release() and another thread can
obtain it.
The function su_root_has_thread() can be used to check if a thread has
obtained or released the root.
Implementation upgraded the su_port_own_thread() method as su_port_thread().
Fri Oct 5 07:28:10 EDT 2007 Pekka Pessi <first.lastname@nokia.com>
* su_port.h: removed su_port_threadsafe() and su_port_yield() methods
su_port_wait_events() replaces su_port_yield().
Fri Oct 5 13:26:04 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* msg_parser.awk: not extending header structure unless needed.
Removed gawk-ish /* comments */.
Fri Oct 5 14:32:25 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* run_test_su: removed GNUisms
Fri Oct 5 14:32:47 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* Makefile.am: removed implicit check target test_urlmap
Fri Oct 5 14:22:32 EDT 2007 Pekka Pessi <first.lastname@nokia.com>
* torture_sresolv.c: use CLOCK_REALTIME if no CLOCK_PROCESS_CPUTIME_ID available
Casting timespec tv_sec to unsigned long.
Fri Oct * nua_s added handling nua_prack()
Thanks to Fabio Margarido for the patch.
Mon Oct 8 10:24:35 EDT 2007 Pekka.Pessi@nokia.com
* test_nua: added test for sf.net bug #1803686
Mon Oct 8 08:15:23 EDT 2007 Pekka.Pessi@nokia.com
* RELEASE: updated.
Mon Oct 8 09:30:36 EDT 2007 Pekka.Pessi@nokia.com
* nua_stack: added handling nua_prack()
Thanks to Fabio Margarido for the patch.
Mon Oct 8 10:24:35 EDT 2007 Pekka.Pessi@nokia.com
* test_nua: added test for sf.net bug #1803686
Mon Oct 8 10:26:31 EDT 2007 Pekka.Pessi@nokia.com
* nua: added test for nua_prack() (sf.net bug #1804248)
Avoid sending nua_i_state after nua_prack() if no SDP O/A is happening, too.
Mon Oct 8 10:32:04 EDT 2007 Mikhail Zabaluev <mikhail.zabaluev@nokia.com>
* su_source.c: don t leak the wait arrays
Mon Oct 8 10:37:11 EDT 2007 Pekka.Pessi@nokia.com
* RELEASE: updated
Wed Oct 10 11:55:21 EDT 2007 Pekka.Pessi@nokia.com
* sip_parser.c: silenced warning about extra const in sip_extend_mclass()
Wed Oct 10 11:57:08 EDT 2007 Pekka.Pessi@nokia.com
* nta_tag.c: updated tag documentation
Wed Oct 10 13:16:40 EDT 2007 Pekka.Pessi@nokia.com
* nua: fix logging crash if outbound used with application contact
Silenced warnings.
Wed Oct 10 13:30:45 EDT 2007 Pekka.Pessi@nokia.com
* msg_parser.awk: removed extra "const"
Wed Oct 10 13:31:45 EDT 2007 Pekka.Pessi@nokia.com
* Makefile.am's: fixed distclean of documentation
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5840 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-10-11 14:16:59 +00:00
|
|
|
/** Return a built-in SIP parser object. */
|
2007-04-15 02:03:41 +00:00
|
|
|
SOFIAPUBFUN msg_mclass_t const *sip_default_mclass(void);
|
2006-12-21 06:30:28 +00:00
|
|
|
|
2019-08-19 20:39:25 +00:00
|
|
|
/** Release SIP parser object if it was cloned. */
|
|
|
|
SOFIAPUBFUN void sip_cloned_parser_destroy(void);
|
|
|
|
|
Sync to current darcs tree:
Mon Sep 17 14:50:04 EDT 2007 Pekka.Pessi@nokia.com
* sofia-sip/sip_util.h: updated documentation
Mon Sep 17 14:50:18 EDT 2007 Pekka.Pessi@nokia.com
* sofia-sip/tport_tag.h: updated documentation
Mon Sep 17 14:50:28 EDT 2007 Pekka.Pessi@nokia.com
* soa_tag.c: updated documentation
Wed Sep 19 12:50:01 EDT 2007 Pekka.Pessi@nokia.com
* msg: updated documentation
Wed Sep 19 13:29:50 EDT 2007 Pekka.Pessi@nokia.com
* url: updated documentation
Wed Sep 19 13:32:14 EDT 2007 Pekka.Pessi@nokia.com
* nth: updated documentation
Wed Sep 19 13:32:27 EDT 2007 Pekka.Pessi@nokia.com
* nea: updated documentation
Wed Sep 19 13:33:36 EDT 2007 Pekka.Pessi@nokia.com
* http: updated documentation
Wed Sep 19 13:36:58 EDT 2007 Pekka.Pessi@nokia.com
* bnf: updated documentation
Wed Sep 19 13:38:58 EDT 2007 Pekka.Pessi@nokia.com
* nua: updated nua_stack_init_handle() prototype
Wed Sep 19 18:45:56 EDT 2007 Pekka.Pessi@nokia.com
* sip: added sip_name_addr_xtra(), sip_name_addr_dup()
Wed Sep 19 19:00:19 EDT 2007 Pekka.Pessi@nokia.com
* sip_basic.c: cleaned old crud
Thu Sep 20 13:34:04 EDT 2007 Pekka.Pessi@nokia.com
* iptsec: updated documentation
Thu Sep 20 13:36:22 EDT 2007 Pekka.Pessi@nokia.com
* tport: updated documentation
Thu Sep 20 13:36:56 EDT 2007 Pekka.Pessi@nokia.com
* su: updated documentation
Removed internal files from doxygen-generated documentation.
Thu Sep 20 13:38:29 EDT 2007 Pekka.Pessi@nokia.com
* soa: fixed documentation
Thu Sep 20 13:39:56 EDT 2007 Pekka.Pessi@nokia.com
* sdp: updated documentation
Thu Sep 20 13:40:16 EDT 2007 Pekka.Pessi@nokia.com
* ipt: updated documentation
Thu Sep 20 14:24:20 EDT 2007 Pekka.Pessi@nokia.com
* nta: updated documentation
Thu Sep 20 14:41:04 EDT 2007 Pekka.Pessi@nokia.com
* nua: updated documentation
Updated tag documentation.
Moved doxygen doc entries from sofia-sip/nua_tag.h to nua_tag.c.
Removed internal datatypes and files from the generated documents.
Wed Sep 19 13:34:20 EDT 2007 Pekka.Pessi@nokia.com
* docs: updated the generation of documentation. Updated links to header files.
Thu Sep 20 08:45:32 EDT 2007 Pekka.Pessi@nokia.com
* sip/Makefile.am: added tags to <sofia-sip/sip_extra.h>
Added check for extra tags in torture_sip.c.
Thu Sep 20 14:45:22 EDT 2007 Pekka.Pessi@nokia.com
* stun: updated documentation
Wed Jul 4 18:55:20 EDT 2007 Pekka.Pessi@nokia.com
* torture_heap.c: added tests for ##sort() and su_smoothsort()
Wed Jul 4 18:56:59 EDT 2007 Pekka.Pessi@nokia.com
* Makefile.am: added smoothsort.c
Fri Jul 13 12:38:44 EDT 2007 Pekka.Pessi@nokia.com
* sofia-sip/heap.h: heap_remove() now set()s index to 0 on removed item
Mon Jul 23 11:14:22 EDT 2007 Pekka.Pessi@nokia.com
* sofia-sip/heap.h: fixed bug in heap##remove()
If left kid was in heap but right was not, left kid was ignored.
Wed Jul 4 18:51:08 EDT 2007 Pekka.Pessi@nokia.com
* smoothsort.c: added
Wed Jul 4 18:51:34 EDT 2007 Pekka.Pessi@nokia.com
* heap.h: using su_smoothsort()
Fri Jul 6 10:20:27 EDT 2007 Pekka.Pessi@nokia.com
* smoothsort.c: added
Wed Sep 19 17:40:30 EDT 2007 Pekka.Pessi@nokia.com
* msg_parser.awk: generate two parser tables, default and extended
Wed Sep 19 18:39:45 EDT 2007 Pekka.Pessi@nokia.com
* msg_parser.awk: just generate list of extra headers
Allocate extended parser dynamically.
Wed Sep 19 18:59:59 EDT 2007 Pekka.Pessi@nokia.com
* sip: added Remote-Party-ID, P-Asserted-Identity, P-Preferred-Identity
Added functions sip_update_default_mclass() and sip_extend_mclass()
for handling the extended parser. Note that Reply-To and Alert-Info are only
available with the extended parser.
Wed Sep 19 19:05:44 EDT 2007 Pekka.Pessi@nokia.com
* RELEASE: updated
Thu Sep 20 13:38:59 EDT 2007 Pekka.Pessi@nokia.com
* sip: updated documentation
Thu Sep 20 14:17:28 EDT 2007 Pekka.Pessi@nokia.com
* docs/conformance.docs: updated
Mon Oct 1 10:11:14 EDT 2007 Pekka.Pessi@nokia.com
* tport_tag.c: re-enabled tptag_trusted
Thu Oct 4 09:21:07 EDT 2007 Pekka.Pessi@nokia.com
* su_osx_runloop.c: moved virtual function table after struct definition
Preparing for su_port_vtable_t refactoring.
Thu Oct 4 10:22:03 EDT 2007 Pekka.Pessi@nokia.com
* su_source.c: refactored initialization/deinitialization
Fri Oct 5 04:58:18 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* sip_extra.c: fixed prototypes with isize_t
Fri Oct 5 04:58:45 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* test_nta_api.c: removed warnings about signedness
Fri Oct 5 04:59:02 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* test_nua_params.c: removed warnings about constness
Fri Oct 5 07:20:26 EDT 2007 Pekka Pessi <first.lastname@nokia.com>
* su_port.h, su_root.c: cleaned argument checking
The su_root_*() and su_port_*() functions now check their arguments once
and do not assert() with NULL arguments. The sur_task->sut_port should
always be valid while su_root_t is alive.
Fri Oct 5 07:22:09 EDT 2007 Pekka Pessi <first.lastname@nokia.com>
* su: added su_root_obtain(), su_root_release() and su_root_has_thread()
When root is created with su_root_create() or cloned with su_clone_start(),
the resulting root is obtained by the calling or created thread,
respectively.
The root can be released with su_root_release() and another thread can
obtain it.
The function su_root_has_thread() can be used to check if a thread has
obtained or released the root.
Implementation upgraded the su_port_own_thread() method as su_port_thread().
Fri Oct 5 07:28:10 EDT 2007 Pekka Pessi <first.lastname@nokia.com>
* su_port.h: removed su_port_threadsafe() and su_port_yield() methods
su_port_wait_events() replaces su_port_yield().
Fri Oct 5 13:26:04 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* msg_parser.awk: not extending header structure unless needed.
Removed gawk-ish /* comments */.
Fri Oct 5 14:32:25 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* run_test_su: removed GNUisms
Fri Oct 5 14:32:47 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* Makefile.am: removed implicit check target test_urlmap
Fri Oct 5 14:22:32 EDT 2007 Pekka Pessi <first.lastname@nokia.com>
* torture_sresolv.c: use CLOCK_REALTIME if no CLOCK_PROCESS_CPUTIME_ID available
Casting timespec tv_sec to unsigned long.
Fri Oct * nua_s added handling nua_prack()
Thanks to Fabio Margarido for the patch.
Mon Oct 8 10:24:35 EDT 2007 Pekka.Pessi@nokia.com
* test_nua: added test for sf.net bug #1803686
Mon Oct 8 08:15:23 EDT 2007 Pekka.Pessi@nokia.com
* RELEASE: updated.
Mon Oct 8 09:30:36 EDT 2007 Pekka.Pessi@nokia.com
* nua_stack: added handling nua_prack()
Thanks to Fabio Margarido for the patch.
Mon Oct 8 10:24:35 EDT 2007 Pekka.Pessi@nokia.com
* test_nua: added test for sf.net bug #1803686
Mon Oct 8 10:26:31 EDT 2007 Pekka.Pessi@nokia.com
* nua: added test for nua_prack() (sf.net bug #1804248)
Avoid sending nua_i_state after nua_prack() if no SDP O/A is happening, too.
Mon Oct 8 10:32:04 EDT 2007 Mikhail Zabaluev <mikhail.zabaluev@nokia.com>
* su_source.c: don t leak the wait arrays
Mon Oct 8 10:37:11 EDT 2007 Pekka.Pessi@nokia.com
* RELEASE: updated
Wed Oct 10 11:55:21 EDT 2007 Pekka.Pessi@nokia.com
* sip_parser.c: silenced warning about extra const in sip_extend_mclass()
Wed Oct 10 11:57:08 EDT 2007 Pekka.Pessi@nokia.com
* nta_tag.c: updated tag documentation
Wed Oct 10 13:16:40 EDT 2007 Pekka.Pessi@nokia.com
* nua: fix logging crash if outbound used with application contact
Silenced warnings.
Wed Oct 10 13:30:45 EDT 2007 Pekka.Pessi@nokia.com
* msg_parser.awk: removed extra "const"
Wed Oct 10 13:31:45 EDT 2007 Pekka.Pessi@nokia.com
* Makefile.am's: fixed distclean of documentation
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5840 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-10-11 14:16:59 +00:00
|
|
|
SOFIAPUBFUN int sip_update_default_mclass(msg_mclass_t const *mclass);
|
|
|
|
SOFIAPUBFUN msg_mclass_t *sip_extend_mclass(msg_mclass_t *input);
|
|
|
|
|
|
|
|
/** Check that sip_t is a SIP header structure (not MIME or HTTP). @HIDE */
|
2006-12-21 06:30:28 +00:00
|
|
|
#define sip_is_sip(sip) ((sip) && (sip)->sip_ident == SIP_PROTOCOL_TAG)
|
|
|
|
|
Sync to current darcs tree:
Mon Sep 17 14:50:04 EDT 2007 Pekka.Pessi@nokia.com
* sofia-sip/sip_util.h: updated documentation
Mon Sep 17 14:50:18 EDT 2007 Pekka.Pessi@nokia.com
* sofia-sip/tport_tag.h: updated documentation
Mon Sep 17 14:50:28 EDT 2007 Pekka.Pessi@nokia.com
* soa_tag.c: updated documentation
Wed Sep 19 12:50:01 EDT 2007 Pekka.Pessi@nokia.com
* msg: updated documentation
Wed Sep 19 13:29:50 EDT 2007 Pekka.Pessi@nokia.com
* url: updated documentation
Wed Sep 19 13:32:14 EDT 2007 Pekka.Pessi@nokia.com
* nth: updated documentation
Wed Sep 19 13:32:27 EDT 2007 Pekka.Pessi@nokia.com
* nea: updated documentation
Wed Sep 19 13:33:36 EDT 2007 Pekka.Pessi@nokia.com
* http: updated documentation
Wed Sep 19 13:36:58 EDT 2007 Pekka.Pessi@nokia.com
* bnf: updated documentation
Wed Sep 19 13:38:58 EDT 2007 Pekka.Pessi@nokia.com
* nua: updated nua_stack_init_handle() prototype
Wed Sep 19 18:45:56 EDT 2007 Pekka.Pessi@nokia.com
* sip: added sip_name_addr_xtra(), sip_name_addr_dup()
Wed Sep 19 19:00:19 EDT 2007 Pekka.Pessi@nokia.com
* sip_basic.c: cleaned old crud
Thu Sep 20 13:34:04 EDT 2007 Pekka.Pessi@nokia.com
* iptsec: updated documentation
Thu Sep 20 13:36:22 EDT 2007 Pekka.Pessi@nokia.com
* tport: updated documentation
Thu Sep 20 13:36:56 EDT 2007 Pekka.Pessi@nokia.com
* su: updated documentation
Removed internal files from doxygen-generated documentation.
Thu Sep 20 13:38:29 EDT 2007 Pekka.Pessi@nokia.com
* soa: fixed documentation
Thu Sep 20 13:39:56 EDT 2007 Pekka.Pessi@nokia.com
* sdp: updated documentation
Thu Sep 20 13:40:16 EDT 2007 Pekka.Pessi@nokia.com
* ipt: updated documentation
Thu Sep 20 14:24:20 EDT 2007 Pekka.Pessi@nokia.com
* nta: updated documentation
Thu Sep 20 14:41:04 EDT 2007 Pekka.Pessi@nokia.com
* nua: updated documentation
Updated tag documentation.
Moved doxygen doc entries from sofia-sip/nua_tag.h to nua_tag.c.
Removed internal datatypes and files from the generated documents.
Wed Sep 19 13:34:20 EDT 2007 Pekka.Pessi@nokia.com
* docs: updated the generation of documentation. Updated links to header files.
Thu Sep 20 08:45:32 EDT 2007 Pekka.Pessi@nokia.com
* sip/Makefile.am: added tags to <sofia-sip/sip_extra.h>
Added check for extra tags in torture_sip.c.
Thu Sep 20 14:45:22 EDT 2007 Pekka.Pessi@nokia.com
* stun: updated documentation
Wed Jul 4 18:55:20 EDT 2007 Pekka.Pessi@nokia.com
* torture_heap.c: added tests for ##sort() and su_smoothsort()
Wed Jul 4 18:56:59 EDT 2007 Pekka.Pessi@nokia.com
* Makefile.am: added smoothsort.c
Fri Jul 13 12:38:44 EDT 2007 Pekka.Pessi@nokia.com
* sofia-sip/heap.h: heap_remove() now set()s index to 0 on removed item
Mon Jul 23 11:14:22 EDT 2007 Pekka.Pessi@nokia.com
* sofia-sip/heap.h: fixed bug in heap##remove()
If left kid was in heap but right was not, left kid was ignored.
Wed Jul 4 18:51:08 EDT 2007 Pekka.Pessi@nokia.com
* smoothsort.c: added
Wed Jul 4 18:51:34 EDT 2007 Pekka.Pessi@nokia.com
* heap.h: using su_smoothsort()
Fri Jul 6 10:20:27 EDT 2007 Pekka.Pessi@nokia.com
* smoothsort.c: added
Wed Sep 19 17:40:30 EDT 2007 Pekka.Pessi@nokia.com
* msg_parser.awk: generate two parser tables, default and extended
Wed Sep 19 18:39:45 EDT 2007 Pekka.Pessi@nokia.com
* msg_parser.awk: just generate list of extra headers
Allocate extended parser dynamically.
Wed Sep 19 18:59:59 EDT 2007 Pekka.Pessi@nokia.com
* sip: added Remote-Party-ID, P-Asserted-Identity, P-Preferred-Identity
Added functions sip_update_default_mclass() and sip_extend_mclass()
for handling the extended parser. Note that Reply-To and Alert-Info are only
available with the extended parser.
Wed Sep 19 19:05:44 EDT 2007 Pekka.Pessi@nokia.com
* RELEASE: updated
Thu Sep 20 13:38:59 EDT 2007 Pekka.Pessi@nokia.com
* sip: updated documentation
Thu Sep 20 14:17:28 EDT 2007 Pekka.Pessi@nokia.com
* docs/conformance.docs: updated
Mon Oct 1 10:11:14 EDT 2007 Pekka.Pessi@nokia.com
* tport_tag.c: re-enabled tptag_trusted
Thu Oct 4 09:21:07 EDT 2007 Pekka.Pessi@nokia.com
* su_osx_runloop.c: moved virtual function table after struct definition
Preparing for su_port_vtable_t refactoring.
Thu Oct 4 10:22:03 EDT 2007 Pekka.Pessi@nokia.com
* su_source.c: refactored initialization/deinitialization
Fri Oct 5 04:58:18 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* sip_extra.c: fixed prototypes with isize_t
Fri Oct 5 04:58:45 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* test_nta_api.c: removed warnings about signedness
Fri Oct 5 04:59:02 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* test_nua_params.c: removed warnings about constness
Fri Oct 5 07:20:26 EDT 2007 Pekka Pessi <first.lastname@nokia.com>
* su_port.h, su_root.c: cleaned argument checking
The su_root_*() and su_port_*() functions now check their arguments once
and do not assert() with NULL arguments. The sur_task->sut_port should
always be valid while su_root_t is alive.
Fri Oct 5 07:22:09 EDT 2007 Pekka Pessi <first.lastname@nokia.com>
* su: added su_root_obtain(), su_root_release() and su_root_has_thread()
When root is created with su_root_create() or cloned with su_clone_start(),
the resulting root is obtained by the calling or created thread,
respectively.
The root can be released with su_root_release() and another thread can
obtain it.
The function su_root_has_thread() can be used to check if a thread has
obtained or released the root.
Implementation upgraded the su_port_own_thread() method as su_port_thread().
Fri Oct 5 07:28:10 EDT 2007 Pekka Pessi <first.lastname@nokia.com>
* su_port.h: removed su_port_threadsafe() and su_port_yield() methods
su_port_wait_events() replaces su_port_yield().
Fri Oct 5 13:26:04 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* msg_parser.awk: not extending header structure unless needed.
Removed gawk-ish /* comments */.
Fri Oct 5 14:32:25 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* run_test_su: removed GNUisms
Fri Oct 5 14:32:47 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* Makefile.am: removed implicit check target test_urlmap
Fri Oct 5 14:22:32 EDT 2007 Pekka Pessi <first.lastname@nokia.com>
* torture_sresolv.c: use CLOCK_REALTIME if no CLOCK_PROCESS_CPUTIME_ID available
Casting timespec tv_sec to unsigned long.
Fri Oct * nua_s added handling nua_prack()
Thanks to Fabio Margarido for the patch.
Mon Oct 8 10:24:35 EDT 2007 Pekka.Pessi@nokia.com
* test_nua: added test for sf.net bug #1803686
Mon Oct 8 08:15:23 EDT 2007 Pekka.Pessi@nokia.com
* RELEASE: updated.
Mon Oct 8 09:30:36 EDT 2007 Pekka.Pessi@nokia.com
* nua_stack: added handling nua_prack()
Thanks to Fabio Margarido for the patch.
Mon Oct 8 10:24:35 EDT 2007 Pekka.Pessi@nokia.com
* test_nua: added test for sf.net bug #1803686
Mon Oct 8 10:26:31 EDT 2007 Pekka.Pessi@nokia.com
* nua: added test for nua_prack() (sf.net bug #1804248)
Avoid sending nua_i_state after nua_prack() if no SDP O/A is happening, too.
Mon Oct 8 10:32:04 EDT 2007 Mikhail Zabaluev <mikhail.zabaluev@nokia.com>
* su_source.c: don t leak the wait arrays
Mon Oct 8 10:37:11 EDT 2007 Pekka.Pessi@nokia.com
* RELEASE: updated
Wed Oct 10 11:55:21 EDT 2007 Pekka.Pessi@nokia.com
* sip_parser.c: silenced warning about extra const in sip_extend_mclass()
Wed Oct 10 11:57:08 EDT 2007 Pekka.Pessi@nokia.com
* nta_tag.c: updated tag documentation
Wed Oct 10 13:16:40 EDT 2007 Pekka.Pessi@nokia.com
* nua: fix logging crash if outbound used with application contact
Silenced warnings.
Wed Oct 10 13:30:45 EDT 2007 Pekka.Pessi@nokia.com
* msg_parser.awk: removed extra "const"
Wed Oct 10 13:31:45 EDT 2007 Pekka.Pessi@nokia.com
* Makefile.am's: fixed distclean of documentation
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5840 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-10-11 14:16:59 +00:00
|
|
|
/** Initializer for a SIP header structure. @HIDE */
|
2006-12-21 06:30:28 +00:00
|
|
|
#define SIP_HDR_INIT(name) {{{ 0, 0, sip_##name##_class }}}
|
|
|
|
|
|
|
|
/** Initialize a SIP header structure. @HIDE */
|
|
|
|
#define SIP_HEADER_INIT(h, sip_class, size) \
|
|
|
|
((void)memset((h), 0, (size)), \
|
|
|
|
(void)(((sip_common_t *)(h))->h_class = (sip_class)), \
|
|
|
|
(h))
|
|
|
|
|
|
|
|
/** Serialize headers into the fragment chain. */
|
|
|
|
SOFIAPUBFUN int sip_serialize(msg_t *msg, sip_t *sip);
|
|
|
|
|
|
|
|
/** Encode a SIP message. */
|
|
|
|
SOFIAPUBFUN issize_t sip_e(sip_t const *sip, int flags, char b[], isize_t size);
|
|
|
|
|
|
|
|
/** Test if @a header is a pointer to a SIP header object. */
|
|
|
|
SOFIAPUBFUN int sip_is_header(sip_header_t const *header);
|
|
|
|
|
|
|
|
/** Convert the header @a h to a string allocated from @a home. */
|
|
|
|
SOFIAPUBFUN char *sip_header_as_string(su_home_t *home,
|
|
|
|
sip_header_t const *h);
|
|
|
|
|
|
|
|
/** Add a duplicate of header object to a SIP message. */
|
|
|
|
SOFIAPUBFUN int sip_add_dup(msg_t *, sip_t *, sip_header_t const *);
|
|
|
|
|
|
|
|
/** Add a duplicate of header object to the SIP message. */
|
|
|
|
SOFIAPUBFUN int sip_add_dup_as(msg_t *msg, sip_t *sip,
|
|
|
|
msg_hclass_t *hc, sip_header_t const *o);
|
|
|
|
|
|
|
|
/** Add duplicates of headers to the SIP message. */
|
2008-12-16 18:05:22 +00:00
|
|
|
SOFIAPUBFUN int sip_add_headers(msg_t *msg, sip_t *sip,
|
2006-12-21 06:30:28 +00:00
|
|
|
void const *extra, va_list headers);
|
|
|
|
|
|
|
|
/** Add duplicates of headers from taglist to the SIP message. */
|
|
|
|
SOFIAPUBFUN int sip_add_tl(msg_t *msg, sip_t *sip,
|
|
|
|
tag_type_t tag, tag_value_t value, ...);
|
|
|
|
|
|
|
|
/** Add duplicates of headers from taglist to the SIP message. */
|
|
|
|
SOFIAPUBFUN int sip_add_tagis(msg_t *, sip_t *, tagi_t const **inout_list);
|
|
|
|
|
|
|
|
/** Parse a string as a header and add it to the SIP message. */
|
|
|
|
SOFIAPUBFUN int sip_add_make(msg_t *, sip_t *, msg_hclass_t *hc, char const *s);
|
|
|
|
|
|
|
|
/** Convert headers from taglist as URL query. */
|
|
|
|
SOFIAPUBFUN char *sip_headers_as_url_query(su_home_t *home,
|
|
|
|
tag_type_t tag, tag_value_t value,
|
|
|
|
...);
|
|
|
|
|
|
|
|
/** Convert URL query to a tag list. */
|
|
|
|
SOFIAPUBFUN tagi_t *sip_url_query_as_taglist(su_home_t *home,
|
|
|
|
char const *query,
|
|
|
|
msg_mclass_t const *parser);
|
|
|
|
|
|
|
|
/** Complete SIP message. */
|
|
|
|
SOFIAPUBFUN int sip_complete_message(msg_t *msg);
|
|
|
|
|
|
|
|
/** Clear encoded data. @HIDE */
|
|
|
|
#define sip_fragment_clear(a) ((a)->h_data = NULL, (a)->h_len = 0)
|
|
|
|
|
|
|
|
/* Use __attribute__ to allow argument checking for sip_header_format() */
|
|
|
|
#if !defined(__GNUC__) && !defined(__attribute__)
|
2008-12-16 18:05:22 +00:00
|
|
|
#define __attribute__(x)
|
2006-12-21 06:30:28 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
/** Make a SIP header with formatting provided. */
|
2008-12-16 18:05:22 +00:00
|
|
|
SOFIAPUBFUN sip_header_t *sip_header_format(su_home_t *home,
|
2006-12-21 06:30:28 +00:00
|
|
|
msg_hclass_t *hc,
|
|
|
|
char const *fmt,
|
|
|
|
...)
|
|
|
|
__attribute__((__format__ (printf, 3, 4)));
|
|
|
|
|
|
|
|
/** Return current time */
|
|
|
|
SOFIAPUBFUN sip_time_t sip_now(void);
|
|
|
|
|
|
|
|
SOFIAPUBVAR char const sip_method_name_ack[];
|
|
|
|
SOFIAPUBVAR char const sip_method_name_bye[];
|
|
|
|
SOFIAPUBVAR char const sip_method_name_cancel[];
|
|
|
|
SOFIAPUBVAR char const sip_method_name_invite[];
|
|
|
|
SOFIAPUBVAR char const sip_method_name_options[];
|
|
|
|
SOFIAPUBVAR char const sip_method_name_register[];
|
|
|
|
SOFIAPUBVAR char const sip_method_name_info[];
|
|
|
|
SOFIAPUBVAR char const sip_method_name_prack[];
|
|
|
|
SOFIAPUBVAR char const sip_method_name_comet[];
|
|
|
|
SOFIAPUBVAR char const sip_method_name_message[];
|
|
|
|
SOFIAPUBVAR char const sip_method_name_subscribe[];
|
|
|
|
SOFIAPUBVAR char const sip_method_name_notify[];
|
|
|
|
SOFIAPUBVAR char const sip_method_name_refer[];
|
|
|
|
|
2008-12-16 18:05:22 +00:00
|
|
|
/** @internal UDP transport version string. */
|
2006-12-21 06:30:28 +00:00
|
|
|
SOFIAPUBVAR char const sip_transport_udp[];
|
2008-12-16 18:05:22 +00:00
|
|
|
/** @internal TCP transport version string. */
|
2006-12-21 06:30:28 +00:00
|
|
|
SOFIAPUBVAR char const sip_transport_tcp[];
|
2008-12-16 18:05:22 +00:00
|
|
|
/** @internal SCTP transport version string. */
|
2006-12-21 06:30:28 +00:00
|
|
|
SOFIAPUBVAR char const sip_transport_sctp[];
|
2008-12-16 18:05:22 +00:00
|
|
|
/** @internal TLS transport version string. */
|
2006-12-21 06:30:28 +00:00
|
|
|
SOFIAPUBVAR char const sip_transport_tls[];
|
2013-01-17 18:32:27 +00:00
|
|
|
/** @internal WS transport version string. */
|
|
|
|
SOFIAPUBVAR char const sip_transport_ws[];
|
|
|
|
/** @internal WSS transport version string. */
|
|
|
|
SOFIAPUBVAR char const sip_transport_wss[];
|
2008-12-16 18:05:22 +00:00
|
|
|
/** @internal SIP version string. */
|
2006-12-21 06:30:28 +00:00
|
|
|
SOFIAPUBVAR char const sip_version_2_0[];
|
|
|
|
|
|
|
|
#define SIP_VERSION_CURRENT sip_version_2_0
|
|
|
|
|
|
|
|
/** SIP parser version */
|
|
|
|
SOFIAPUBVAR char const sip_parser_version[];
|
|
|
|
|
|
|
|
/** Get SIP service name */
|
|
|
|
#define SIP_PORT(s) ((s) ? (s) : "5060")
|
|
|
|
|
|
|
|
/** Get SIPS service name */
|
|
|
|
#define SIPS_PORT(s) ((s) ? (s) : "5061")
|
|
|
|
|
|
|
|
/** Return string corresponding to the method. */
|
|
|
|
SOFIAPUBFUN char const *sip_method_name(sip_method_t method, char const *name);
|
|
|
|
|
|
|
|
/** Return code corresponding to the method code */
|
|
|
|
SOFIAPUBFUN sip_method_t sip_method_code(char const *name);
|
|
|
|
|
|
|
|
SOFIAPUBVAR char const * const sip_method_names[];
|
|
|
|
|
|
|
|
#define SIP_METHOD_NAME(method, name) \
|
|
|
|
((method) == sip_method_unknown ? (name) : sip_method_name(method, name))
|
|
|
|
|
|
|
|
#define sip_header_make(h, c, s) \
|
|
|
|
((sip_header_t *)msg_header_make((h), (c), (s)))
|
|
|
|
#define sip_header_vformat(h, c, f, a) \
|
|
|
|
((sip_header_t *)msg_header_vformat((h), (c), (f), (a)))
|
|
|
|
|
|
|
|
SOFIA_END_DECLS
|
|
|
|
#ifndef SIP_PROTOS_H
|
|
|
|
#include <sofia-sip/sip_protos.h>
|
|
|
|
#endif
|
|
|
|
SOFIA_BEGIN_DECLS
|
|
|
|
|
|
|
|
/** Create a request line object. */
|
|
|
|
SOFIAPUBFUN
|
|
|
|
sip_request_t *sip_request_create(su_home_t *home,
|
|
|
|
sip_method_t method, const char *name,
|
|
|
|
url_string_t const *url,
|
|
|
|
char const *version);
|
|
|
|
|
|
|
|
/** Create a status line object. */
|
|
|
|
SOFIAPUBFUN
|
|
|
|
sip_status_t *sip_status_create(su_home_t *home,
|
|
|
|
unsigned status,
|
|
|
|
char const *phrase,
|
|
|
|
char const *version);
|
|
|
|
|
|
|
|
/** Create a @CallID header object. */
|
|
|
|
SOFIAPUBFUN sip_call_id_t *sip_call_id_create(su_home_t *home,
|
|
|
|
char const *domain);
|
|
|
|
|
|
|
|
/** Create a @CSeq header object. */
|
2008-12-16 18:05:22 +00:00
|
|
|
SOFIAPUBFUN sip_cseq_t *sip_cseq_create(su_home_t *, uint32_t seq,
|
2006-12-21 06:30:28 +00:00
|
|
|
unsigned method, char const *name);
|
|
|
|
|
2019-08-01 20:03:41 +00:00
|
|
|
/** Create a @Identity header object. */
|
|
|
|
SOFIAPUBFUN sip_identity_t *sip_identity_create(su_home_t *, uint32_t seq,
|
|
|
|
unsigned method, char const *name);
|
|
|
|
|
2006-12-21 06:30:28 +00:00
|
|
|
/** Create a @Contact header object. */
|
2008-12-16 18:05:22 +00:00
|
|
|
SOFIAPUBFUN sip_contact_t * sip_contact_create(su_home_t *,
|
|
|
|
url_string_t const *url,
|
2006-12-21 06:30:28 +00:00
|
|
|
char const *param,
|
|
|
|
/* char const *params, */
|
|
|
|
...);
|
|
|
|
|
|
|
|
/** Calculate expiration time of a @Contact header. */
|
|
|
|
SOFIAPUBFUN sip_time_t sip_contact_expires(sip_contact_t const *m,
|
|
|
|
sip_expires_t const *ex,
|
|
|
|
sip_date_t const *date,
|
|
|
|
sip_time_t def,
|
|
|
|
sip_time_t now);
|
|
|
|
|
|
|
|
/** Create a @ContentLength header object. */
|
|
|
|
SOFIAPUBFUN
|
|
|
|
sip_content_length_t *sip_content_length_create(su_home_t *, uint32_t n);
|
|
|
|
|
|
|
|
/** Create an @Date header object. */
|
|
|
|
SOFIAPUBFUN sip_date_t *sip_date_create(su_home_t *, sip_time_t t);
|
|
|
|
|
|
|
|
/** Create an @Expires header object. */
|
|
|
|
SOFIAPUBFUN sip_expires_t *sip_expires_create(su_home_t *, sip_time_t delta);
|
|
|
|
|
|
|
|
/** Create a @Route header object. */
|
2008-12-16 18:05:22 +00:00
|
|
|
SOFIAPUBFUN sip_route_t *sip_route_create(su_home_t *home, url_t const *url,
|
2006-12-21 06:30:28 +00:00
|
|
|
url_t const *maddr);
|
|
|
|
|
|
|
|
/** Create a @RecordRoute header object. */
|
|
|
|
SOFIAPUBFUN sip_record_route_t *sip_record_route_create(su_home_t *,
|
|
|
|
url_t const *rq_url,
|
|
|
|
url_t const *m_url);
|
|
|
|
|
|
|
|
/** Create a @From header object. */
|
|
|
|
SOFIAPUBFUN sip_from_t *sip_from_create(su_home_t *, url_string_t const *url);
|
|
|
|
|
|
|
|
SOFIAPUBFUN int sip_from_tag(su_home_t *, sip_from_t *from, char const *tag);
|
|
|
|
|
|
|
|
/** Create a @To header object. */
|
|
|
|
SOFIAPUBFUN sip_to_t *sip_to_create(su_home_t *, url_string_t const *url);
|
|
|
|
|
|
|
|
SOFIAPUBFUN int sip_to_tag(su_home_t *, sip_to_t *to, char const *tag);
|
|
|
|
|
2008-12-16 18:05:22 +00:00
|
|
|
/** Create a @Via object. */
|
2006-12-21 06:30:28 +00:00
|
|
|
SOFIAPUBFUN sip_via_t *sip_via_create(su_home_t *h,
|
|
|
|
char const *host,
|
2008-12-16 18:05:22 +00:00
|
|
|
char const *port,
|
2006-12-21 06:30:28 +00:00
|
|
|
char const *transport,
|
|
|
|
/* char const *params */
|
|
|
|
...);
|
|
|
|
|
|
|
|
/** Get transport protocol name. */
|
|
|
|
#if SU_HAVE_INLINE
|
|
|
|
su_inline char const *sip_via_transport(sip_via_t const *v)
|
|
|
|
{
|
|
|
|
char const *tp = v->v_protocol;
|
|
|
|
if (tp) {
|
2008-12-16 18:05:22 +00:00
|
|
|
tp = strchr(tp, '/');
|
2006-12-21 06:30:28 +00:00
|
|
|
if (tp) {
|
|
|
|
tp = strchr(tp + 1, '/');
|
|
|
|
if (tp)
|
|
|
|
return tp + 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
#else
|
|
|
|
char const *sip_via_transport(sip_via_t const *v);
|
|
|
|
#endif
|
|
|
|
|
|
|
|
SOFIAPUBFUN char const *sip_via_port(sip_via_t const *v, int *using_rport);
|
|
|
|
|
|
|
|
SOFIAPUBFUN
|
|
|
|
sip_payload_t *sip_payload_create(su_home_t *, void const *data, isize_t len);
|
|
|
|
|
|
|
|
/**@ingroup sip_payload
|
|
|
|
*
|
2008-12-16 18:05:22 +00:00
|
|
|
* Initialize a SIP payload structure with pointer to data and its length.
|
2006-12-21 06:30:28 +00:00
|
|
|
*
|
|
|
|
* The SIP_PAYLOAD_INIT2() macro initializes a #sip_payload_t header
|
|
|
|
* structure with a pointer to data and its length in octets. For
|
|
|
|
* instance,
|
2008-12-16 18:05:22 +00:00
|
|
|
* @code
|
2006-12-21 06:30:28 +00:00
|
|
|
* sip_payload_t txt_payload = SIP_PAYLOAD_INIT2(txt, strlen(txt));
|
|
|
|
* @endcode
|
|
|
|
*
|
|
|
|
* The SIP_PAYLOAD_INIT2() macro can be used when creating a new payload
|
|
|
|
* from heap is not required, for instance, when the resulting payload
|
|
|
|
* structure is immediately copied.
|
|
|
|
*
|
2008-12-16 18:05:22 +00:00
|
|
|
* @HIDE
|
2006-12-21 06:30:28 +00:00
|
|
|
*/
|
|
|
|
#define SIP_PAYLOAD_INIT2(data, length) \
|
2015-02-18 11:37:20 +00:00
|
|
|
{{{ 0, 0, sip_payload_class, data, length }}, NULL, data, length }
|
2006-12-21 06:30:28 +00:00
|
|
|
|
|
|
|
/** Create a SIP separator line structure. */
|
|
|
|
SOFIAPUBFUN sip_separator_t *sip_separator_create(su_home_t *home);
|
|
|
|
|
|
|
|
/** Check that a required feature is supported. */
|
|
|
|
SOFIAPUBFUN
|
|
|
|
sip_unsupported_t *sip_has_unsupported(su_home_t *,
|
2008-12-16 18:05:22 +00:00
|
|
|
sip_supported_t const *support,
|
2006-12-21 06:30:28 +00:00
|
|
|
sip_require_t const *require);
|
|
|
|
|
|
|
|
SOFIAPUBFUN
|
|
|
|
sip_unsupported_t *sip_has_unsupported2(su_home_t *,
|
|
|
|
sip_supported_t const *support,
|
|
|
|
sip_require_t const *by_require,
|
|
|
|
sip_require_t const *require);
|
|
|
|
|
|
|
|
SOFIAPUBFUN
|
|
|
|
sip_unsupported_t *
|
|
|
|
sip_has_unsupported_any(su_home_t *,
|
|
|
|
sip_supported_t const *support,
|
|
|
|
sip_require_t const *by_require,
|
|
|
|
sip_proxy_require_t const *by_proxy_require,
|
|
|
|
sip_require_t const *require,
|
|
|
|
sip_require_t const *require2,
|
|
|
|
sip_require_t const *require3);
|
|
|
|
|
|
|
|
/** Check that a feature is supported. */
|
|
|
|
SOFIAPUBFUN
|
|
|
|
int sip_has_supported(sip_supported_t const *support, char const *feature);
|
|
|
|
|
|
|
|
/** Check that a feature is in the list. */
|
|
|
|
SOFIAPUBFUN
|
|
|
|
int sip_has_feature(msg_list_t const *supported, char const *feature);
|
|
|
|
|
2007-04-15 02:03:41 +00:00
|
|
|
/** Return true if the method is listed in @Allow header. */
|
2008-12-16 18:05:22 +00:00
|
|
|
SOFIAPUBFUN int sip_is_allowed(sip_allow_t const *allow,
|
2006-12-21 06:30:28 +00:00
|
|
|
sip_method_t method, char const *name);
|
|
|
|
|
Sync to current darcs tree:
Mon Sep 17 14:50:04 EDT 2007 Pekka.Pessi@nokia.com
* sofia-sip/sip_util.h: updated documentation
Mon Sep 17 14:50:18 EDT 2007 Pekka.Pessi@nokia.com
* sofia-sip/tport_tag.h: updated documentation
Mon Sep 17 14:50:28 EDT 2007 Pekka.Pessi@nokia.com
* soa_tag.c: updated documentation
Wed Sep 19 12:50:01 EDT 2007 Pekka.Pessi@nokia.com
* msg: updated documentation
Wed Sep 19 13:29:50 EDT 2007 Pekka.Pessi@nokia.com
* url: updated documentation
Wed Sep 19 13:32:14 EDT 2007 Pekka.Pessi@nokia.com
* nth: updated documentation
Wed Sep 19 13:32:27 EDT 2007 Pekka.Pessi@nokia.com
* nea: updated documentation
Wed Sep 19 13:33:36 EDT 2007 Pekka.Pessi@nokia.com
* http: updated documentation
Wed Sep 19 13:36:58 EDT 2007 Pekka.Pessi@nokia.com
* bnf: updated documentation
Wed Sep 19 13:38:58 EDT 2007 Pekka.Pessi@nokia.com
* nua: updated nua_stack_init_handle() prototype
Wed Sep 19 18:45:56 EDT 2007 Pekka.Pessi@nokia.com
* sip: added sip_name_addr_xtra(), sip_name_addr_dup()
Wed Sep 19 19:00:19 EDT 2007 Pekka.Pessi@nokia.com
* sip_basic.c: cleaned old crud
Thu Sep 20 13:34:04 EDT 2007 Pekka.Pessi@nokia.com
* iptsec: updated documentation
Thu Sep 20 13:36:22 EDT 2007 Pekka.Pessi@nokia.com
* tport: updated documentation
Thu Sep 20 13:36:56 EDT 2007 Pekka.Pessi@nokia.com
* su: updated documentation
Removed internal files from doxygen-generated documentation.
Thu Sep 20 13:38:29 EDT 2007 Pekka.Pessi@nokia.com
* soa: fixed documentation
Thu Sep 20 13:39:56 EDT 2007 Pekka.Pessi@nokia.com
* sdp: updated documentation
Thu Sep 20 13:40:16 EDT 2007 Pekka.Pessi@nokia.com
* ipt: updated documentation
Thu Sep 20 14:24:20 EDT 2007 Pekka.Pessi@nokia.com
* nta: updated documentation
Thu Sep 20 14:41:04 EDT 2007 Pekka.Pessi@nokia.com
* nua: updated documentation
Updated tag documentation.
Moved doxygen doc entries from sofia-sip/nua_tag.h to nua_tag.c.
Removed internal datatypes and files from the generated documents.
Wed Sep 19 13:34:20 EDT 2007 Pekka.Pessi@nokia.com
* docs: updated the generation of documentation. Updated links to header files.
Thu Sep 20 08:45:32 EDT 2007 Pekka.Pessi@nokia.com
* sip/Makefile.am: added tags to <sofia-sip/sip_extra.h>
Added check for extra tags in torture_sip.c.
Thu Sep 20 14:45:22 EDT 2007 Pekka.Pessi@nokia.com
* stun: updated documentation
Wed Jul 4 18:55:20 EDT 2007 Pekka.Pessi@nokia.com
* torture_heap.c: added tests for ##sort() and su_smoothsort()
Wed Jul 4 18:56:59 EDT 2007 Pekka.Pessi@nokia.com
* Makefile.am: added smoothsort.c
Fri Jul 13 12:38:44 EDT 2007 Pekka.Pessi@nokia.com
* sofia-sip/heap.h: heap_remove() now set()s index to 0 on removed item
Mon Jul 23 11:14:22 EDT 2007 Pekka.Pessi@nokia.com
* sofia-sip/heap.h: fixed bug in heap##remove()
If left kid was in heap but right was not, left kid was ignored.
Wed Jul 4 18:51:08 EDT 2007 Pekka.Pessi@nokia.com
* smoothsort.c: added
Wed Jul 4 18:51:34 EDT 2007 Pekka.Pessi@nokia.com
* heap.h: using su_smoothsort()
Fri Jul 6 10:20:27 EDT 2007 Pekka.Pessi@nokia.com
* smoothsort.c: added
Wed Sep 19 17:40:30 EDT 2007 Pekka.Pessi@nokia.com
* msg_parser.awk: generate two parser tables, default and extended
Wed Sep 19 18:39:45 EDT 2007 Pekka.Pessi@nokia.com
* msg_parser.awk: just generate list of extra headers
Allocate extended parser dynamically.
Wed Sep 19 18:59:59 EDT 2007 Pekka.Pessi@nokia.com
* sip: added Remote-Party-ID, P-Asserted-Identity, P-Preferred-Identity
Added functions sip_update_default_mclass() and sip_extend_mclass()
for handling the extended parser. Note that Reply-To and Alert-Info are only
available with the extended parser.
Wed Sep 19 19:05:44 EDT 2007 Pekka.Pessi@nokia.com
* RELEASE: updated
Thu Sep 20 13:38:59 EDT 2007 Pekka.Pessi@nokia.com
* sip: updated documentation
Thu Sep 20 14:17:28 EDT 2007 Pekka.Pessi@nokia.com
* docs/conformance.docs: updated
Mon Oct 1 10:11:14 EDT 2007 Pekka.Pessi@nokia.com
* tport_tag.c: re-enabled tptag_trusted
Thu Oct 4 09:21:07 EDT 2007 Pekka.Pessi@nokia.com
* su_osx_runloop.c: moved virtual function table after struct definition
Preparing for su_port_vtable_t refactoring.
Thu Oct 4 10:22:03 EDT 2007 Pekka.Pessi@nokia.com
* su_source.c: refactored initialization/deinitialization
Fri Oct 5 04:58:18 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* sip_extra.c: fixed prototypes with isize_t
Fri Oct 5 04:58:45 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* test_nta_api.c: removed warnings about signedness
Fri Oct 5 04:59:02 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* test_nua_params.c: removed warnings about constness
Fri Oct 5 07:20:26 EDT 2007 Pekka Pessi <first.lastname@nokia.com>
* su_port.h, su_root.c: cleaned argument checking
The su_root_*() and su_port_*() functions now check their arguments once
and do not assert() with NULL arguments. The sur_task->sut_port should
always be valid while su_root_t is alive.
Fri Oct 5 07:22:09 EDT 2007 Pekka Pessi <first.lastname@nokia.com>
* su: added su_root_obtain(), su_root_release() and su_root_has_thread()
When root is created with su_root_create() or cloned with su_clone_start(),
the resulting root is obtained by the calling or created thread,
respectively.
The root can be released with su_root_release() and another thread can
obtain it.
The function su_root_has_thread() can be used to check if a thread has
obtained or released the root.
Implementation upgraded the su_port_own_thread() method as su_port_thread().
Fri Oct 5 07:28:10 EDT 2007 Pekka Pessi <first.lastname@nokia.com>
* su_port.h: removed su_port_threadsafe() and su_port_yield() methods
su_port_wait_events() replaces su_port_yield().
Fri Oct 5 13:26:04 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* msg_parser.awk: not extending header structure unless needed.
Removed gawk-ish /* comments */.
Fri Oct 5 14:32:25 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* run_test_su: removed GNUisms
Fri Oct 5 14:32:47 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* Makefile.am: removed implicit check target test_urlmap
Fri Oct 5 14:22:32 EDT 2007 Pekka Pessi <first.lastname@nokia.com>
* torture_sresolv.c: use CLOCK_REALTIME if no CLOCK_PROCESS_CPUTIME_ID available
Casting timespec tv_sec to unsigned long.
Fri Oct * nua_s added handling nua_prack()
Thanks to Fabio Margarido for the patch.
Mon Oct 8 10:24:35 EDT 2007 Pekka.Pessi@nokia.com
* test_nua: added test for sf.net bug #1803686
Mon Oct 8 08:15:23 EDT 2007 Pekka.Pessi@nokia.com
* RELEASE: updated.
Mon Oct 8 09:30:36 EDT 2007 Pekka.Pessi@nokia.com
* nua_stack: added handling nua_prack()
Thanks to Fabio Margarido for the patch.
Mon Oct 8 10:24:35 EDT 2007 Pekka.Pessi@nokia.com
* test_nua: added test for sf.net bug #1803686
Mon Oct 8 10:26:31 EDT 2007 Pekka.Pessi@nokia.com
* nua: added test for nua_prack() (sf.net bug #1804248)
Avoid sending nua_i_state after nua_prack() if no SDP O/A is happening, too.
Mon Oct 8 10:32:04 EDT 2007 Mikhail Zabaluev <mikhail.zabaluev@nokia.com>
* su_source.c: don t leak the wait arrays
Mon Oct 8 10:37:11 EDT 2007 Pekka.Pessi@nokia.com
* RELEASE: updated
Wed Oct 10 11:55:21 EDT 2007 Pekka.Pessi@nokia.com
* sip_parser.c: silenced warning about extra const in sip_extend_mclass()
Wed Oct 10 11:57:08 EDT 2007 Pekka.Pessi@nokia.com
* nta_tag.c: updated tag documentation
Wed Oct 10 13:16:40 EDT 2007 Pekka.Pessi@nokia.com
* nua: fix logging crash if outbound used with application contact
Silenced warnings.
Wed Oct 10 13:30:45 EDT 2007 Pekka.Pessi@nokia.com
* msg_parser.awk: removed extra "const"
Wed Oct 10 13:31:45 EDT 2007 Pekka.Pessi@nokia.com
* Makefile.am's: fixed distclean of documentation
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5840 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-10-11 14:16:59 +00:00
|
|
|
/** Check if the well-known method is listed in @Allow header. @NEW_1_12_6. */
|
2007-04-15 02:03:41 +00:00
|
|
|
#define SIP_IS_ALLOWED(allow, method) \
|
|
|
|
(sip_method_unknown < (method) && (method) < 32 && \
|
|
|
|
(allow) && ((allow)->k_bitmap & (1 << (method))) != 0)
|
|
|
|
|
2007-08-06 19:24:10 +00:00
|
|
|
/**
|
|
|
|
* Bitmasks for header classifications.
|
|
|
|
*
|
|
|
|
* If parsing of a particular header fails, the error bits in #msg_t are
|
|
|
|
* updated. The error bits can be obtained via msg_extract_errors() after
|
|
|
|
* parsing. The header-specific bits are stored along with the
|
|
|
|
* @ref msg_hclass_t "header class" in the #msg_href_t structure, found in
|
|
|
|
* the parser tables of the #msg_mclass_t object.
|
|
|
|
*
|
|
|
|
* @sa NTATAG_BAD_REQ_MASK(), NTATAG_BAD_RESP_MASK(),
|
|
|
|
* #msg_mclass_t, struct #msg_mclass_s, msg_mclass_clone(),
|
|
|
|
* msg_mclass_insert_with_mask(),
|
|
|
|
* #msg_href_t, struct #msg_href_s, msg_mclass_insert().
|
2006-12-21 06:30:28 +00:00
|
|
|
*/
|
2007-08-06 19:24:10 +00:00
|
|
|
enum sip_bad_mask {
|
|
|
|
/** Bit marking essential headers in a request message.
|
|
|
|
*
|
|
|
|
* @ref sip_request \"request line\"", @From, @To, @CSeq, @CallID,
|
|
|
|
* @ContentLength, @Via
|
|
|
|
*/
|
|
|
|
sip_mask_request = (1 << 0),
|
|
|
|
|
|
|
|
/** Bit marking essential headers in a response message.
|
|
|
|
*
|
|
|
|
* @ref sip_status \"status line\"", @From, @To, @CSeq, @CallID,
|
|
|
|
* @ContentLength, @Via
|
|
|
|
*/
|
|
|
|
sip_mask_response = (1 << 1),
|
|
|
|
|
|
|
|
/** Bit marking essential headers for User-Agent.
|
|
|
|
*
|
|
|
|
* @ContentType, @ContentDisposition, @ContentEncoding, @Supported,
|
|
|
|
* @Contact, @Require, and @RecordRoute.
|
|
|
|
*/
|
|
|
|
sip_mask_ua = (1 << 2),
|
|
|
|
|
|
|
|
/** Bit marking essential headers for proxy server.
|
|
|
|
*
|
|
|
|
* @Route, @MaxForwards, @ProxyRequire, @ProxyAuthorization, @Supported,
|
|
|
|
* @Contact, and @RecordRoute.
|
|
|
|
*/
|
|
|
|
sip_mask_proxy = (1 << 3),
|
|
|
|
|
|
|
|
/** Bit marking essential headers for registrar server.
|
|
|
|
*
|
|
|
|
* @MinExpires, @Authorization, @Path, @Supported, @Contact, @Require, and
|
|
|
|
* @Expires.
|
2008-12-16 18:05:22 +00:00
|
|
|
*
|
2007-08-06 19:24:10 +00:00
|
|
|
*/
|
|
|
|
sip_mask_registrar = (1 << 4),
|
|
|
|
|
|
|
|
/** Bit marking essential headers for 100rel extension.
|
|
|
|
*
|
|
|
|
* @RAck and @RSeq.
|
|
|
|
*
|
|
|
|
* @sa @RFC3262.
|
|
|
|
*/
|
|
|
|
sip_mask_100rel = (1 << 5),
|
|
|
|
|
|
|
|
/** Bit marking essential headers for SIP events.
|
|
|
|
*
|
|
|
|
* @Event, @Expires, and @SubscriptionState.
|
2008-12-16 18:05:22 +00:00
|
|
|
*
|
2007-08-06 19:24:10 +00:00
|
|
|
* @sa @RFC3265.
|
|
|
|
*/
|
|
|
|
sip_mask_events = (1 << 6),
|
|
|
|
|
|
|
|
/** Bit marking essential headers for session timer extension.
|
|
|
|
*
|
|
|
|
* @SessionExpires, and @MinSE.
|
2008-12-16 18:05:22 +00:00
|
|
|
*
|
2007-08-06 19:24:10 +00:00
|
|
|
* @RFC4028
|
|
|
|
*/
|
|
|
|
sip_mask_timer = (1 << 7),
|
|
|
|
|
|
|
|
/** Bit marking essential headers for privacy extension.
|
|
|
|
*
|
|
|
|
* @Privacy.
|
2008-12-16 18:05:22 +00:00
|
|
|
*
|
2007-08-06 19:24:10 +00:00
|
|
|
* @sa @RFC3323
|
|
|
|
*/
|
|
|
|
sip_mask_privacy = (1 << 8),
|
|
|
|
|
|
|
|
/** Bit marking essential headers for caller preference extension.
|
|
|
|
*
|
|
|
|
* @RequestDisposition, @AcceptContact, and @RejectContact.
|
2008-12-16 18:05:22 +00:00
|
|
|
*
|
2007-08-06 19:24:10 +00:00
|
|
|
* @sa @RFC3841.
|
|
|
|
*/
|
|
|
|
sip_mask_pref = (1 << 9),
|
|
|
|
|
|
|
|
/** Bit marking essential headers for PUBLISH servers and clients.
|
|
|
|
*
|
Sync to current darcs tree:
Mon Sep 17 14:50:04 EDT 2007 Pekka.Pessi@nokia.com
* sofia-sip/sip_util.h: updated documentation
Mon Sep 17 14:50:18 EDT 2007 Pekka.Pessi@nokia.com
* sofia-sip/tport_tag.h: updated documentation
Mon Sep 17 14:50:28 EDT 2007 Pekka.Pessi@nokia.com
* soa_tag.c: updated documentation
Wed Sep 19 12:50:01 EDT 2007 Pekka.Pessi@nokia.com
* msg: updated documentation
Wed Sep 19 13:29:50 EDT 2007 Pekka.Pessi@nokia.com
* url: updated documentation
Wed Sep 19 13:32:14 EDT 2007 Pekka.Pessi@nokia.com
* nth: updated documentation
Wed Sep 19 13:32:27 EDT 2007 Pekka.Pessi@nokia.com
* nea: updated documentation
Wed Sep 19 13:33:36 EDT 2007 Pekka.Pessi@nokia.com
* http: updated documentation
Wed Sep 19 13:36:58 EDT 2007 Pekka.Pessi@nokia.com
* bnf: updated documentation
Wed Sep 19 13:38:58 EDT 2007 Pekka.Pessi@nokia.com
* nua: updated nua_stack_init_handle() prototype
Wed Sep 19 18:45:56 EDT 2007 Pekka.Pessi@nokia.com
* sip: added sip_name_addr_xtra(), sip_name_addr_dup()
Wed Sep 19 19:00:19 EDT 2007 Pekka.Pessi@nokia.com
* sip_basic.c: cleaned old crud
Thu Sep 20 13:34:04 EDT 2007 Pekka.Pessi@nokia.com
* iptsec: updated documentation
Thu Sep 20 13:36:22 EDT 2007 Pekka.Pessi@nokia.com
* tport: updated documentation
Thu Sep 20 13:36:56 EDT 2007 Pekka.Pessi@nokia.com
* su: updated documentation
Removed internal files from doxygen-generated documentation.
Thu Sep 20 13:38:29 EDT 2007 Pekka.Pessi@nokia.com
* soa: fixed documentation
Thu Sep 20 13:39:56 EDT 2007 Pekka.Pessi@nokia.com
* sdp: updated documentation
Thu Sep 20 13:40:16 EDT 2007 Pekka.Pessi@nokia.com
* ipt: updated documentation
Thu Sep 20 14:24:20 EDT 2007 Pekka.Pessi@nokia.com
* nta: updated documentation
Thu Sep 20 14:41:04 EDT 2007 Pekka.Pessi@nokia.com
* nua: updated documentation
Updated tag documentation.
Moved doxygen doc entries from sofia-sip/nua_tag.h to nua_tag.c.
Removed internal datatypes and files from the generated documents.
Wed Sep 19 13:34:20 EDT 2007 Pekka.Pessi@nokia.com
* docs: updated the generation of documentation. Updated links to header files.
Thu Sep 20 08:45:32 EDT 2007 Pekka.Pessi@nokia.com
* sip/Makefile.am: added tags to <sofia-sip/sip_extra.h>
Added check for extra tags in torture_sip.c.
Thu Sep 20 14:45:22 EDT 2007 Pekka.Pessi@nokia.com
* stun: updated documentation
Wed Jul 4 18:55:20 EDT 2007 Pekka.Pessi@nokia.com
* torture_heap.c: added tests for ##sort() and su_smoothsort()
Wed Jul 4 18:56:59 EDT 2007 Pekka.Pessi@nokia.com
* Makefile.am: added smoothsort.c
Fri Jul 13 12:38:44 EDT 2007 Pekka.Pessi@nokia.com
* sofia-sip/heap.h: heap_remove() now set()s index to 0 on removed item
Mon Jul 23 11:14:22 EDT 2007 Pekka.Pessi@nokia.com
* sofia-sip/heap.h: fixed bug in heap##remove()
If left kid was in heap but right was not, left kid was ignored.
Wed Jul 4 18:51:08 EDT 2007 Pekka.Pessi@nokia.com
* smoothsort.c: added
Wed Jul 4 18:51:34 EDT 2007 Pekka.Pessi@nokia.com
* heap.h: using su_smoothsort()
Fri Jul 6 10:20:27 EDT 2007 Pekka.Pessi@nokia.com
* smoothsort.c: added
Wed Sep 19 17:40:30 EDT 2007 Pekka.Pessi@nokia.com
* msg_parser.awk: generate two parser tables, default and extended
Wed Sep 19 18:39:45 EDT 2007 Pekka.Pessi@nokia.com
* msg_parser.awk: just generate list of extra headers
Allocate extended parser dynamically.
Wed Sep 19 18:59:59 EDT 2007 Pekka.Pessi@nokia.com
* sip: added Remote-Party-ID, P-Asserted-Identity, P-Preferred-Identity
Added functions sip_update_default_mclass() and sip_extend_mclass()
for handling the extended parser. Note that Reply-To and Alert-Info are only
available with the extended parser.
Wed Sep 19 19:05:44 EDT 2007 Pekka.Pessi@nokia.com
* RELEASE: updated
Thu Sep 20 13:38:59 EDT 2007 Pekka.Pessi@nokia.com
* sip: updated documentation
Thu Sep 20 14:17:28 EDT 2007 Pekka.Pessi@nokia.com
* docs/conformance.docs: updated
Mon Oct 1 10:11:14 EDT 2007 Pekka.Pessi@nokia.com
* tport_tag.c: re-enabled tptag_trusted
Thu Oct 4 09:21:07 EDT 2007 Pekka.Pessi@nokia.com
* su_osx_runloop.c: moved virtual function table after struct definition
Preparing for su_port_vtable_t refactoring.
Thu Oct 4 10:22:03 EDT 2007 Pekka.Pessi@nokia.com
* su_source.c: refactored initialization/deinitialization
Fri Oct 5 04:58:18 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* sip_extra.c: fixed prototypes with isize_t
Fri Oct 5 04:58:45 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* test_nta_api.c: removed warnings about signedness
Fri Oct 5 04:59:02 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* test_nua_params.c: removed warnings about constness
Fri Oct 5 07:20:26 EDT 2007 Pekka Pessi <first.lastname@nokia.com>
* su_port.h, su_root.c: cleaned argument checking
The su_root_*() and su_port_*() functions now check their arguments once
and do not assert() with NULL arguments. The sur_task->sut_port should
always be valid while su_root_t is alive.
Fri Oct 5 07:22:09 EDT 2007 Pekka Pessi <first.lastname@nokia.com>
* su: added su_root_obtain(), su_root_release() and su_root_has_thread()
When root is created with su_root_create() or cloned with su_clone_start(),
the resulting root is obtained by the calling or created thread,
respectively.
The root can be released with su_root_release() and another thread can
obtain it.
The function su_root_has_thread() can be used to check if a thread has
obtained or released the root.
Implementation upgraded the su_port_own_thread() method as su_port_thread().
Fri Oct 5 07:28:10 EDT 2007 Pekka Pessi <first.lastname@nokia.com>
* su_port.h: removed su_port_threadsafe() and su_port_yield() methods
su_port_wait_events() replaces su_port_yield().
Fri Oct 5 13:26:04 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* msg_parser.awk: not extending header structure unless needed.
Removed gawk-ish /* comments */.
Fri Oct 5 14:32:25 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* run_test_su: removed GNUisms
Fri Oct 5 14:32:47 EDT 2007 Pekka Pessi <Pekka.Pessi@nokia.com>
* Makefile.am: removed implicit check target test_urlmap
Fri Oct 5 14:22:32 EDT 2007 Pekka Pessi <first.lastname@nokia.com>
* torture_sresolv.c: use CLOCK_REALTIME if no CLOCK_PROCESS_CPUTIME_ID available
Casting timespec tv_sec to unsigned long.
Fri Oct * nua_s added handling nua_prack()
Thanks to Fabio Margarido for the patch.
Mon Oct 8 10:24:35 EDT 2007 Pekka.Pessi@nokia.com
* test_nua: added test for sf.net bug #1803686
Mon Oct 8 08:15:23 EDT 2007 Pekka.Pessi@nokia.com
* RELEASE: updated.
Mon Oct 8 09:30:36 EDT 2007 Pekka.Pessi@nokia.com
* nua_stack: added handling nua_prack()
Thanks to Fabio Margarido for the patch.
Mon Oct 8 10:24:35 EDT 2007 Pekka.Pessi@nokia.com
* test_nua: added test for sf.net bug #1803686
Mon Oct 8 10:26:31 EDT 2007 Pekka.Pessi@nokia.com
* nua: added test for nua_prack() (sf.net bug #1804248)
Avoid sending nua_i_state after nua_prack() if no SDP O/A is happening, too.
Mon Oct 8 10:32:04 EDT 2007 Mikhail Zabaluev <mikhail.zabaluev@nokia.com>
* su_source.c: don t leak the wait arrays
Mon Oct 8 10:37:11 EDT 2007 Pekka.Pessi@nokia.com
* RELEASE: updated
Wed Oct 10 11:55:21 EDT 2007 Pekka.Pessi@nokia.com
* sip_parser.c: silenced warning about extra const in sip_extend_mclass()
Wed Oct 10 11:57:08 EDT 2007 Pekka.Pessi@nokia.com
* nta_tag.c: updated tag documentation
Wed Oct 10 13:16:40 EDT 2007 Pekka.Pessi@nokia.com
* nua: fix logging crash if outbound used with application contact
Silenced warnings.
Wed Oct 10 13:30:45 EDT 2007 Pekka.Pessi@nokia.com
* msg_parser.awk: removed extra "const"
Wed Oct 10 13:31:45 EDT 2007 Pekka.Pessi@nokia.com
* Makefile.am's: fixed distclean of documentation
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@5840 d0543943-73ff-0310-b7d9-9358b9ac24b2
2007-10-11 14:16:59 +00:00
|
|
|
* @SIPETag, and @SIPIfMatch.
|
2008-12-16 18:05:22 +00:00
|
|
|
*
|
2007-08-06 19:24:10 +00:00
|
|
|
* @sa @RFC3903.
|
|
|
|
*/
|
|
|
|
sip_mask_publish = (1 << 10)
|
|
|
|
|
|
|
|
/* NOTE:
|
2008-12-16 18:05:22 +00:00
|
|
|
* When adding bits, please update nta_agent_create() and
|
2007-08-06 19:24:10 +00:00
|
|
|
* NTATAG_BAD_RESP_MASK()/NTATAG_BAD_REQ_MASK() documentation.
|
|
|
|
*/
|
2006-12-21 06:30:28 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/* ------------------------------------------------------------------------- */
|
|
|
|
|
|
|
|
/* Here are @deprecated functions and names for compatibility */
|
|
|
|
|
|
|
|
/** Encode a SIP header field (name: contents CRLF). */
|
|
|
|
SOFIAPUBFUN issize_t sip_header_e(char[], isize_t, sip_header_t const *, int);
|
|
|
|
|
|
|
|
/** Decode a SIP header string (name: contents CRLF?). */
|
|
|
|
SOFIAPUBFUN
|
|
|
|
sip_header_t *sip_header_d(su_home_t *, msg_t const *, char const *);
|
|
|
|
|
|
|
|
/** Encode contents of a SIP header field. */
|
|
|
|
SOFIAPUBFUN issize_t sip_header_field_e(char[], isize_t, sip_header_t const *, int);
|
|
|
|
|
|
|
|
/** Decode the string containing header field */
|
|
|
|
SOFIAPUBFUN issize_t sip_header_field_d(su_home_t *, sip_header_t *, char *, isize_t);
|
|
|
|
|
|
|
|
/** Calculate the size of a SIP header and associated memory areas. */
|
|
|
|
SOFIAPUBFUN isize_t sip_header_size(sip_header_t const *h);
|
|
|
|
|
2008-12-16 18:05:22 +00:00
|
|
|
/** Duplicate (deep copy) a SIP header or whole list. */
|
2006-12-21 06:30:28 +00:00
|
|
|
SOFIAPUBFUN sip_header_t *sip_header_dup(su_home_t *, sip_header_t const *);
|
|
|
|
|
|
|
|
/** Copy a SIP header or whole list. */
|
|
|
|
SOFIAPUBFUN sip_header_t *sip_header_copy(su_home_t *, sip_header_t const *o);
|
|
|
|
|
|
|
|
/** Add an event to @AllowEvents header. */
|
2008-12-16 18:05:22 +00:00
|
|
|
SOFIAPUBFUN int sip_allow_events_add(su_home_t *,
|
|
|
|
sip_allow_events_t *ae,
|
2006-12-21 06:30:28 +00:00
|
|
|
char const *e);
|
|
|
|
|
|
|
|
/** Add a parameter to a @Contact header object. */
|
|
|
|
SOFIAPUBFUN int sip_contact_add_param(su_home_t *, sip_contact_t *,
|
|
|
|
char const *param);
|
|
|
|
|
|
|
|
SOFIAPUBFUN int sip_to_add_param(su_home_t *, sip_to_t *, char const *);
|
|
|
|
|
|
|
|
SOFIAPUBFUN int sip_from_add_param(su_home_t *, sip_from_t *, char const *);
|
|
|
|
|
2008-12-16 18:05:22 +00:00
|
|
|
/** Add a parameter to a @Via header object. */
|
2006-12-21 06:30:28 +00:00
|
|
|
SOFIAPUBFUN int sip_via_add_param(su_home_t *, sip_via_t *, char const *);
|
|
|
|
|
|
|
|
#define sip_from_make_url sip_from_create
|
|
|
|
#define sip_to_make_url sip_to_create
|
|
|
|
#define sip_params_find msg_params_find
|
|
|
|
|
|
|
|
SOFIA_END_DECLS
|
|
|
|
|
2008-12-16 18:05:22 +00:00
|
|
|
#endif
|