3556 lines
109 KiB
C
3556 lines
109 KiB
C
#ifdef _WIN32
|
|
/*
|
|
* PLEASE NOTE:
|
|
*
|
|
* This file is automatically generated by tag_dll.awk.
|
|
* It contains magic required by Win32 DLLs to initialize
|
|
* tag_typedef_t variables.
|
|
*
|
|
* Do not, repeat, do not edit this file. Edit 'nua_tag.c' instead.
|
|
*
|
|
*/
|
|
|
|
#define EXPORT __declspec(dllexport)
|
|
|
|
/*
|
|
* 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
|
|
*
|
|
*/
|
|
|
|
/**@CFILE nua_tag.c Tags and tag lists for NUA
|
|
*
|
|
* @author Pekka Pessi <Pekka.Pessi@nokia.com>
|
|
* @author Martti Mela <Martti.Mela@nokia.com>
|
|
* @author xxxyyyzzz <imsframework(at)gmail.com>
|
|
*
|
|
* @date Created: Wed Feb 21 10:13:29 2001 ppessi
|
|
*/
|
|
|
|
#include "config.h"
|
|
|
|
#undef TAG_NAMESPACE
|
|
#define TAG_NAMESPACE "nua"
|
|
|
|
#define TAG_NAMESPACE "nua"
|
|
|
|
#include "sofia-sip/nua_tag.h"
|
|
|
|
#include <sofia-sip/msg_header.h>
|
|
#include <sofia-sip/su_tag_class.h>
|
|
#include <sofia-sip/url_tag_class.h>
|
|
#include <sofia-sip/sip_tag_class.h>
|
|
#include <sofia-sip/sip_hclasses.h>
|
|
|
|
/** @page nua_api_overview NUA API Overview
|
|
*
|
|
* This page shortly overviews the NUA API: different functions, tags, and
|
|
* where and how they affect the working of NUA engine.
|
|
*
|
|
* The application and the NUA engine can pass various parameters between
|
|
* them using tagged arguments. Tagged arguments can be used like named
|
|
* arguments in higher-lever language.
|
|
*
|
|
* @par NUA Agent
|
|
*
|
|
* The NUA agent object is created with nua_create(). The nua_create() also
|
|
* creates the transports and binds the transport sockets used by the SIP
|
|
* stack.
|
|
*
|
|
* The special tags controlling the transports are
|
|
* - NUTAG_URL(), NUTAG_SIPS_URL(), NUTAG_CERTIFICATE_DIR(), NUTAG_SIP_PARSER()
|
|
*
|
|
* See nta_agent_add_tport() for discussion about magic URIs used to
|
|
* initialize transports.
|
|
*
|
|
* The agent-wide parameter can be later modified or obtained with
|
|
* nua_set_params() and nua_get_params(), respectively.
|
|
*
|
|
* The #su_root_t mainloop integration uses
|
|
* - su_root_create(), su_root_threading(),
|
|
* su_root_poll(), su_root_run(), su_root_break()
|
|
*
|
|
* @par NUA Handles
|
|
* - nua_handle(), nua_get_hparams(), nua_set_hparams()
|
|
* - nua_handle_home(), nua_handle_has_invite(), nua_handle_has_subscribe(),
|
|
* nua_handle_has_register(), nua_handle_has_active_call(),
|
|
* nua_handle_has_call_on_hold(), nua_handle_has_events(),
|
|
* nua_handle_has_registrations(), nua_handle_remote(), and
|
|
* nua_handle_local().
|
|
* - Settings:
|
|
* See nua_set_hparams(). There are a few "sticky" headers that are used
|
|
* on subsequent requests if given on any handle-specific call:
|
|
* - @Contact, @UserAgent, @Supported, @Allow, @Organization
|
|
*
|
|
* @par Client Generating SIP Requests
|
|
* - nua_register(), nua_unregister(), nua_invite(), nua_cancel(),
|
|
* nua_ack(), nua_bye(), nua_options(), nua_refer(), nua_publish(),
|
|
* nua_unpublish(), nua_prack(), nua_info(), nua_update(), nua_message(),
|
|
* nua_subscribe(), nua_unsubscribe(), nua_notify(), nua_method()
|
|
* - NUTAG_URL()
|
|
* Settings:
|
|
* - NUTAG_RETRY_COUNT(), NUTAG_PROXY(),
|
|
* NUTAG_INITIAL_ROUTE() and NUTAG_INITIAL_ROUTE_STR()
|
|
* - NUTAG_ALLOW(), SIPTAG_ALLOW(), and SIPTAG_ALLOW_STR()
|
|
* - NUTAG_SUPPORTED(), SIPTAG_SUPPORTED(), and SIPTAG_SUPPORTED_STR()
|
|
* - NUTAG_USER_AGENT(), SIPTAG_USER_AGENT() and SIPTAG_USER_AGENT_STR()
|
|
* - SIPTAG_ORGANIZATION() and SIPTAG_ORGANIZATION_STR()
|
|
*
|
|
* @par Client Authenticating Requests
|
|
* - nua_authenticate(), #nua_r_authenticate
|
|
* - NUTAG_AUTH(), NUTAG_AUTH_CACHE()
|
|
*
|
|
* @par Server Processing Received SIP Requests
|
|
* - nua_respond(), NUTAG_WITH_THIS(), NUTAG_WITH_SAVED(), NUTAG_WITH()
|
|
* - #nua_i_invite, #nua_i_cancel, #nua_i_ack, #nua_i_bye,
|
|
* #nua_i_options, #nua_i_refer, #nua_i_publish, #nua_i_prack,
|
|
* #nua_i_info, #nua_i_update, #nua_i_message, #nua_i_subscribe,
|
|
* #nua_i_notify, #nua_i_method, #nua_i_register
|
|
* Settings:
|
|
* - NUTAG_APPL_METHOD(), NUTAG_PROXY()
|
|
* - NUTAG_ALLOW(), SIPTAG_ALLOW(), and SIPTAG_ALLOW_STR()
|
|
* - NUTAG_SUPPORTED(), SIPTAG_SUPPORTED(), and SIPTAG_SUPPORTED_STR()
|
|
*
|
|
* @par Registrations and Contact Header Generation
|
|
* - nua_register(), #nua_r_register(), #nua_i_outbound,
|
|
* nua_unregister(), and #nua_r_unregister
|
|
* Settings:
|
|
* - NUTAG_CALLEE_CAPS()
|
|
* - NUTAG_DETECT_NETWORK_UPDATES()
|
|
* - NUTAG_INSTANCE()
|
|
* - NUTAG_KEEPALIVE()
|
|
* - NUTAG_KEEPALIVE_STREAM()
|
|
* - NUTAG_M_DISPLAY()
|
|
* - NUTAG_M_FEATURES()
|
|
* - NUTAG_M_PARAMS()
|
|
* - NUTAG_M_USERNAME()
|
|
* - NUTAG_OUTBOUND()
|
|
* - NUTAG_PATH_ENABLE()
|
|
* - NUTAG_SERVICE_ROUTE_ENABLE()
|
|
* Specifications:
|
|
* - @RFC3261 section 10, @RFC3327, @RFC3608, @RFC3680, @RFC3840,
|
|
* draft-ietf-sip-outbound, draft-ietf-sip-gruu-14
|
|
*
|
|
* @par INVITE Sessions and Call Model
|
|
* - nua_invite(), #nua_r_invite, #nua_i_invite
|
|
* - nua_handle_has_active_call(), nua_handle_has_call_on_hold(),
|
|
* nua_handle_has_invite()
|
|
* - nua_cancel(), #nua_r_cancel, #nua_i_cancel
|
|
* - nua_ack(), #nua_i_ack
|
|
* - nua_bye(), #nua_r_bye, #nua_i_bye
|
|
* - #nua_i_state, NUTAG_CALLSTATE(),
|
|
* NUTAG_OFFER_SENT(), NUTAG_OFFER_RECV(), NUTAG_ANSWER_RECV(), and
|
|
* NUTAG_ANSWER_SENT(), SOATAG_REMOTE_SDP(), SOATAG_REMOTE_SDP_STR(),
|
|
* SOATAG_LOCAL_SDP(), SOATAG_LOCAL_SDP_STR()
|
|
* Settings:
|
|
* - NUTAG_AUTOACK(), NUTAG_AUTOALERT(), NUTAG_AUTOANSWER(),
|
|
* NUTAG_ENABLEINVITE(), NUTAG_INVITE_TIMER(), NUTAG_MEDIA_ENABLE(),
|
|
* SOATAG_USER_SDP(), SOATAG_USER_SDP_STR(), SOATAG_CAPS_SDP(),
|
|
* SOATAG_CAPS_SDP_STR()
|
|
* Specifications:
|
|
* - @RFC3261, @RFC3264
|
|
*
|
|
* @par In-Session Information requests
|
|
* - nua_info() #nua_r_info, #nua_i_info
|
|
* Settings:
|
|
* - NUTAG_ALLOW("INFO"), NUTAG_APPL_METHOD("INFO")
|
|
*
|
|
* @par SDP Processing
|
|
* - #nua_i_state, SOATAG_ACTIVE_AUDIO(), SOATAG_ACTIVE_VIDEO(),
|
|
* SOATAG_ACTIVE_IMAGE(), SOATAG_ACTIVE_CHAT(),
|
|
* SOATAG_REMOTE_SDP(), SOATAG_REMOTE_SDP_STR(),
|
|
* SOATAG_LOCAL_SDP(), SOATAG_LOCAL_SDP_STR()
|
|
* Settings:
|
|
* - NUTAG_MEDIA_ENABLE(), NUTAG_SOA_NAME(), NUTAG_EARLY_ANSWER(),
|
|
* SOATAG_USER_SDP(), SOATAG_USER_SDP_STR(), SOATAG_CAPS_SDP(),
|
|
* SOATAG_CAPS_SDP_STR()
|
|
* Specifications:
|
|
* - @RFC3264
|
|
*
|
|
* @par Call Model Extensions ("100rel" and "precondition")
|
|
* Early
|
|
* - nua_prack(), #nua_r_prack, #nua_i_prack
|
|
* - nua_update() #nua_r_update, #nua_i_update
|
|
* Settings:
|
|
* - NUTAG_EARLY_MEDIA(), NUTAG_ONLY183_100REL()
|
|
* - "100rel" or "precondition" in NUTAG_SUPPORTED()/SIPTAG_SUPPORTED()
|
|
* Specifications:
|
|
* - @RFC3262, @RFC3311, @RFC3312
|
|
*
|
|
* @par SIP Session Timers ("timer")
|
|
* Periodic refresh of SIP Session initiated with INVITE with re-INVITE or
|
|
* UPDATE requests.
|
|
* Settings:
|
|
* - NUTAG_MIN_SE(), NUTAG_SESSION_REFRESHER(),
|
|
* NUTAG_SESSION_TIMER(), NUTAG_UPDATE_REFRESH(),
|
|
* NUTAG_REFRESH_WITHOUT_SDP(),
|
|
* - "timer" in NUTAG_SUPPORTED()/SIPTAG_SUPPORTED()
|
|
* Specifications:
|
|
* - @RFC4028
|
|
*
|
|
* @par Caller Preferences and Callee Caps
|
|
* - Caller preferences in @AcceptContact header in a INVITE requests
|
|
* - Callee caps contained in @Contact header in a REGISTER request
|
|
* Settings:
|
|
* - NUTAG_CALLEE_CAPS(), NUTAG_MEDIA_FEATURES(),
|
|
* NUTAG_M_FEATURES()
|
|
* Specifications:
|
|
* - @RFC3840, @RFC3841
|
|
*
|
|
* @par Instant Messaging
|
|
* - nua_message(), #nua_r_message, #nua_i_message
|
|
* Settings:
|
|
* - NUTAG_APPL_METHOD("MESSAGE"),
|
|
* NUTAG_ENABLEMESSAGE(), NUTAG_ENABLEMESSENGER()
|
|
* Specifications:
|
|
* - @RFC3428
|
|
*
|
|
* @par Call Transfer
|
|
* - nua_refer(), #nua_r_refer, #nua_i_notify, SIPTAG_EVENT(),
|
|
* @ReferTo, SIPTAG_REFER_TO(), @ReferredBy, SIPTAG_REFERRED_BY(),
|
|
* nua_handle_make_replaces(), @Replaces, SIPTAG_REPLACES(),
|
|
* @ReferSub, SIPTAG_REFER_SUB()
|
|
* - #nua_i_refer, nua_notify(), #nua_r_notify,
|
|
* nua_handle_by_replaces()
|
|
* - nua_invite() with NUTAG_NOTIFY_REFER() and NUTAG_REFER_EVENT()
|
|
* Settings:
|
|
* - NUTAG_REFER_EXPIRES(), NUTAG_REFER_WITH_ID()
|
|
* Specifications:
|
|
* - @RFC3515 (@ReferTo), @RFC3892 (@ReferredBy), @RFC3891 (@Replaces),
|
|
* @RFC4488, @ReferSub
|
|
*
|
|
* @par Internal SIP Event Server
|
|
* - nua_notifier(), #nua_r_notifier, #nua_i_subscription,
|
|
* nua_authorize(), #nua_r_authorize, nua_terminate(), #nua_r_terminate
|
|
* - SIPTAG_EVENT(), SIPTAG_CONTENT_TYPE(), SIPTAG_PAYLOAD(),
|
|
* NUTAG_SUBSTATE()
|
|
* @par Settings
|
|
* - NUTAG_ALLOW_EVENTS(), SIPTAG_ALLOW_EVENTS(), and
|
|
* SIPTAG_ALLOW_EVENTS_STR()
|
|
* - NUTAG_MAX_SUBSCRIPTIONS()
|
|
* - NUTAG_SUBSTATE(), NUTAG_SUB_EXPIRES()
|
|
* @par Specifications
|
|
* - @RFC3265
|
|
*
|
|
* @par SIP Event Subscriber
|
|
* - nua_subscribe(), #nua_r_subscribe, #nua_i_notify, NUTAG_SUBSTATE(),
|
|
* SIPTAG_EVENT(), SIPTAG_EXPIRES()
|
|
* - nua_unsubscribe(), #nua_r_unsubscribe()
|
|
* @par Specifications
|
|
* - @RFC3265
|
|
*
|
|
* @par SIP Event Notifier
|
|
* - #nua_i_subscribe(), nua_notify(), #nua_r_notify,
|
|
* NUTAG_SUBSTATE(), NUTAG_SUB_EXPIRES(), SIPTAG_EVENT()
|
|
* Settings:
|
|
* - NUTAG_SUB_EXPIRES()
|
|
* - NUTAG_ALLOW_EVENTS(), SIPTAG_ALLOW_EVENTS(), and
|
|
* SIPTAG_ALLOW_EVENTS_STR()
|
|
* - NUTAG_ALLOW("SUBSCRIBE"), NUTAG_APPL_METHOD("SUBSCRIBE")
|
|
* @par Specifications
|
|
* - @RFC3265
|
|
*
|
|
* @par SIP Event Publisher
|
|
* - nua_publish(), #nua_r_publish(), nua_unpublish(), nua_r_unpublish()
|
|
* - @SIPETag, SIPTAG_ETAG(), @SIPIfMatch, SIPTAG_IF_MATCH()
|
|
* @par Specifications
|
|
* - @RFC3903
|
|
*
|
|
* @par SIP Event State Compositor (PUBLISH Server)
|
|
* - #nua_i_publish, @SIPETag, @SIPIfMatch
|
|
* @par Settings
|
|
* - NUTAG_ALLOW("PUBLISH"), NUTAG_APPL_METHOD("PUBLISH")
|
|
* @par Specifications
|
|
* - @RFC3903
|
|
*
|
|
* @par Non-Standard Extension Methods
|
|
* - nua_method(), NUTAG_METHOD(), #nua_r_method, NUTAG_DIALOG()
|
|
* - #nua_i_method, nua_respond()
|
|
* Settings:
|
|
* - NUTAG_ALLOW(x), NUTAG_APPL_METHOD(x)
|
|
*
|
|
* @par Server Shutdown
|
|
* - nua_shutdown(), NUTAG_SHUTDOWN_EVENTS(), nua_destroy().
|
|
*/
|
|
|
|
/* @par S/MIME
|
|
* - NUTAG_SMIME_ENABLE()
|
|
* - NUTAG_SMIME_KEY_ENCRYPTION()
|
|
* - NUTAG_SMIME_MESSAGE_DIGEST()
|
|
* - NUTAG_SMIME_MESSAGE_ENCRYPTION()
|
|
* - NUTAG_SMIME_OPT()
|
|
* - NUTAG_SMIME_PROTECTION_MODE()
|
|
* - NUTAG_SMIME_SIGNATURE()
|
|
*/
|
|
|
|
tag_typedef_t nutag_any;
|
|
|
|
/**@def NUTAG_URL()
|
|
*
|
|
* URL address from application to NUA
|
|
*
|
|
* @par Used with
|
|
* any function that create SIP request or nua_handle() \n
|
|
* nua_create() \n
|
|
* nua_set_params() \n
|
|
* nua_get_params() \n
|
|
*
|
|
* @par Parameter type
|
|
* char const * or url_t * or url_string_t *
|
|
*
|
|
* @par Values
|
|
* #url_string_t, which is either a pointer to #url_t or NULL terminated
|
|
* character string representing URL
|
|
*
|
|
* For normal nua calls, this tag is used as request target, which is usually
|
|
* stored as request-URI.
|
|
*
|
|
* It is used to set stack's own address with nua_create(), nua_set_params()
|
|
* and nua_get_params(). It can be specified multiple times when used with
|
|
* nua_create().
|
|
*
|
|
* @sa SIPTAG_TO()
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_URL_REF()
|
|
*/
|
|
EXPORT tag_typedef_t nutag_url_ref;
|
|
tag_typedef_t nutag_url;
|
|
|
|
|
|
/**@def NUTAG_METHOD(x)
|
|
*
|
|
* Extension method name.
|
|
*
|
|
* Specify extension method name with nua_method() function.
|
|
*
|
|
* @par Used with
|
|
* nua_method() \n
|
|
*
|
|
* @par Parameter type
|
|
* char const *
|
|
*
|
|
* @par Values
|
|
* Extension method name (e.g., "SERVICE")
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_METHOD_REF()
|
|
*
|
|
* @sa nua_method(), SIP_METHOD_UNKNOWN()
|
|
*
|
|
* @since New in @VERSION_1_12_4.
|
|
*/
|
|
EXPORT tag_typedef_t nutag_method_ref;
|
|
tag_typedef_t nutag_method;
|
|
|
|
/**@def NUTAG_METHOD_REF(x)
|
|
* Reference tag for NUTAG_METHOD().
|
|
*/
|
|
|
|
|
|
/*#@def NUTAG_UICC(x)
|
|
*
|
|
* Intentionally undocumented.
|
|
*/
|
|
EXPORT tag_typedef_t nutag_uicc_ref;
|
|
tag_typedef_t nutag_uicc;
|
|
|
|
/*#@def NUTAG_UICC_REF(x)
|
|
* Reference tag for NUTAG_UICC().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_MEDIA_FEATURES()
|
|
*
|
|
* Add media tags from our offer to Accept-Contact headers.
|
|
*
|
|
* Automatically generate @AcceptContact headers for caller
|
|
* preference processing according to the media capabilities in @a soa.
|
|
*
|
|
* @par Used with
|
|
* - nua_create(), nua_set_params(), nua_get_params()
|
|
* - nua_handle(), nua_set_hparams(), nua_get_hparams()
|
|
* - nua_invite()
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 0 (false) - Do not add @AcceptContact
|
|
* - 1 (true) - Add @AcceptContact with media tags
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_MEDIA_FEATURES_REF()
|
|
*
|
|
* @sa nua_invite(), @AcceptContact, @RFC3841, @RFC3840, SOATAG_USER_SDP(),
|
|
* SIPTAG_ACCEPT_CONTACT(), NUTAG_CALLEE_CAPS()
|
|
*/
|
|
EXPORT tag_typedef_t nutag_media_features_ref;
|
|
tag_typedef_t nutag_media_features;
|
|
|
|
/**@def NUTAG_MEDIA_FEATURES_REF(x)
|
|
* Reference tag for NUTAG_MEDIA_FEATURES().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_CALLEE_CAPS(x)
|
|
*
|
|
* Add methods parameter and media feature parameter to the @Contact headers
|
|
* generated for REGISTER request.
|
|
*
|
|
* @par Used with
|
|
* - nua_create(), nua_set_params(), nua_get_params()
|
|
* - nua_handle(), nua_set_hparams(), nua_get_hparams()
|
|
* - nua_register()
|
|
*
|
|
* @par Parameter type
|
|
* int
|
|
*
|
|
* @par Values
|
|
* - 0 (false) - Do not include methods and media feature parameters
|
|
* - 1 (true) - Include media tags in @Contact
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_MEDIA_FEATURES_REF().
|
|
*
|
|
* @sa nua_register(), @Contact, NUTAG_M_FEATURES(), @RFC3840, @RFC3841,
|
|
* SOATAG_USER_SDP(), NUTAG_MEDIA_FEATURES()
|
|
*/
|
|
EXPORT tag_typedef_t nutag_callee_caps_ref;
|
|
tag_typedef_t nutag_callee_caps;
|
|
|
|
/**@def NUTAG_CALLEE_CAPS_REF(x)
|
|
* Reference tag for NUTAG_CALLEE_CAPS().
|
|
*/
|
|
|
|
/**@def NUTAG_IMPU(x)
|
|
* Set the IP Multimedia Public Identity (sip or tel uri). This uri is publicly published and can be
|
|
* seen as your sip adress.
|
|
*
|
|
*@par Used with
|
|
* -nua_set_params(), nua_create(), nua_get_params()
|
|
*
|
|
*@par parameter type
|
|
*
|
|
* url_string_t const * (either char const * or url_t *)
|
|
*
|
|
* @par Values
|
|
* - SIP URI
|
|
* - TEL URI
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_IMPU_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_impu_ref;
|
|
tag_typedef_t nutag_impu;
|
|
|
|
/**@def NUTAG_IMPU_REF(x)
|
|
* Reference tag for NUTAG_IMPU().
|
|
*/
|
|
|
|
/**@def NUTAG_IMPI(x)
|
|
* Set the IP Multimedia Private Identity. This private user identity associated to the user's IMPUs.
|
|
* For basic sip clients (no IMS) you should fill this field with your authentication user name.
|
|
*
|
|
*@par Used with
|
|
* -nua_set_params(), nua_create(), nua_get_params()
|
|
*
|
|
*@par parameter type
|
|
*
|
|
* char const *
|
|
*
|
|
* @par Values
|
|
* - Any
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_IMPI_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_impi_ref;
|
|
tag_typedef_t nutag_impi;
|
|
|
|
/**@def NUTAG_IMPI_REF(x)
|
|
* Reference tag for NUTAG_IMPI().
|
|
*/
|
|
|
|
/**@def NUTAG_REALM(x)
|
|
* In IMS context we must set the realm in the initial first REGISTER request as per
|
|
* 3GPP TS 24.229 subclause 5.1.1.2. This mean that we don't wait for the 401/407 response to provide credentials.
|
|
*
|
|
*@par Used with
|
|
* -nua_set_params(), nua_create(), nua_get_params()
|
|
*
|
|
*@par parameter type
|
|
*
|
|
* char const *
|
|
*
|
|
* @par Values
|
|
* - Any
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_REALM_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_realm_ref;
|
|
tag_typedef_t nutag_realm;
|
|
|
|
/**@def NUTAG_REALM_REF(x)
|
|
* Reference tag for NUTAG_REALM().
|
|
*/
|
|
|
|
/**@def NUTAG_EARLY_IMS(x)
|
|
* Activate/deactivate early IMS security as per 3GPP TS 33.978.
|
|
* You may activate this option if you are using the stack as basic sip engine without IMS
|
|
* security features.
|
|
*
|
|
*@par Used with
|
|
* -nua_register(), nua_create(), nua_set_params(), nua_get_params()
|
|
*
|
|
*@par Parameter type
|
|
*
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 0 (false) - use normal IMS security mechanisms as per 3GPP TS 33.203
|
|
* - 1 (true) - try to use early IMS as per 3GPP TS 33.978 instead of default IMS security (3GPP TS 33.203)
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_EARLY_IMS_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_early_ims_ref;
|
|
tag_typedef_t nutag_early_ims;
|
|
|
|
/**@def NUTAG_EARLY_IMS_REF(x)
|
|
* Reference tag for NUTAG_EARLY_IMS().
|
|
*/
|
|
|
|
/**@def NUTAG_EARLY_MEDIA(x)
|
|
*
|
|
* Establish early media session using 100rel, 183 responses and PRACK.
|
|
*
|
|
* @par Used with
|
|
* - nua_create(), nua_set_params(), nua_get_params()
|
|
* - nua_handle(), nua_set_hparams(), nua_get_hparams()
|
|
* - nua_invite(), nua_respond()
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 0 (false) - do not try to use early media
|
|
* - 1 (true) - try to use early media
|
|
*
|
|
* @sa NUTAG_EARLY_ANSWER()
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_EARLY_MEDIA_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_early_media_ref;
|
|
tag_typedef_t nutag_early_media;
|
|
|
|
/**@def NUTAG_EARLY_MEDIA_REF(x)
|
|
* Reference tag for NUTAG_EARLY_MEDIA().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_ONLY183_100REL(x)
|
|
*
|
|
* Require 100rel extension and PRACK only with 183 response.
|
|
*
|
|
* When NUTAG_EARLY_MEDIA() is set, and if this parameter is set, stack
|
|
* includes feature tag "100rel" in the @Require header only with 183:
|
|
* otherwise, all 1XX responses (except <i>100 Trying</i>) require 100rel.
|
|
*
|
|
* @par Used with
|
|
* nua_set_params() \n
|
|
* nua_get_params() \n
|
|
* nua_handle() \n
|
|
* nua_set_hparams() \n
|
|
* nua_get_hparams() \n
|
|
* nua_invite() \n
|
|
* nua_respond()
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 0 (false) - include 100rel in all preliminary responses
|
|
* - 1 (true) - include 100rel only in 183 responses
|
|
*
|
|
* @note
|
|
* This tag takes only effect when NUTAG_EARLY_MEDIA(1) has been used, too.
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_ONLY183_100REL_REF().
|
|
*
|
|
* @sa
|
|
*/
|
|
EXPORT tag_typedef_t nutag_only183_100rel_ref;
|
|
tag_typedef_t nutag_only183_100rel;
|
|
|
|
/**@def NUTAG_ONLY183_100REL_REF(x)
|
|
* Reference tag for NUTAG_ONLY183_100REL().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_EARLY_ANSWER(x)
|
|
*
|
|
* Establish early media session by including SDP answer in 1XX response.
|
|
*
|
|
* @par Used with
|
|
* nua_respond(), nua_set_params(), nua_set_hparams()
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 0 (false) - do not include SDP in non-100rel 1XX responses
|
|
* - 1 (true) - try to include SDP in preliminary responses
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_EARLY_ANSWER_REF().
|
|
*
|
|
* @note Requires that @soa is enabled with NUTAG_MEDIA_ENABLE(1).
|
|
*
|
|
* @sa NUTAG_EARLY_MEDIA(), NUTAG_AUTOALERT(), NUTAG_MEDIA_ENABLE()
|
|
*
|
|
* @since New in @VERSION_1_12_2.
|
|
*/
|
|
EXPORT tag_typedef_t nutag_early_answer_ref;
|
|
tag_typedef_t nutag_early_answer;
|
|
|
|
/**@def NUTAG_EARLY_ANSWER_REF(x)
|
|
* Reference tag for NUTAG_EARLY_ANSWER().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_INCLUDE_EXTRA_SDP(x)
|
|
*
|
|
* Include an extra copy of SDP answer in the response.
|
|
*
|
|
* When NUTAG_INCLUDE_EXTRA_SDP(1) is included in nua_respond() tags, stack
|
|
* will include in the response a copy of the SDP offer/answer that was last
|
|
* sent to the client. This tag should be used only when you know that the
|
|
* remote end requires the extra SDP, for example, some versions of Cisco
|
|
* SIPGateway need a copy of answer in 200 OK even when they indicate
|
|
* support for 100rel.
|
|
*
|
|
* @par Used with
|
|
* nua_respond()
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 0 (false) - do not include extra SDP on 200 OK
|
|
* - 1 (true) - include SDP in 200 OK even if it has been sent
|
|
* a 100rel response, too
|
|
*
|
|
* Corresponding tag taking reference parameter is
|
|
* NUTAG_INCLUDE_EXTRA_SDP_REF().
|
|
*
|
|
* @note Requires that @soa is enabled with NUTAG_MEDIA_ENABLE(1).
|
|
*
|
|
* @sa NUTAG_EARLY_ANSWER(), NUTAG_EARLY_MEDIA(), NUTAG_AUTOALERT(),
|
|
* NUTAG_MEDIA_ENABLE(), @RFC3264, @RFC3264
|
|
*
|
|
* @since New in @VERSION_1_12_4.
|
|
*/
|
|
EXPORT tag_typedef_t nutag_include_extra_sdp_ref;
|
|
tag_typedef_t nutag_include_extra_sdp;
|
|
|
|
/**@def NUTAG_INCLUDE_EXTRA_SDP_REF(x)
|
|
* Reference tag for NUTAG_INCLUDE_EXTRA_SDP().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_MEDIA_ENABLE()
|
|
*
|
|
* Enable built-in media session handling
|
|
*
|
|
* The built-in media session object @soa takes care of most details
|
|
* of offer-answer negotiation.
|
|
*
|
|
* @par Used with
|
|
* nua_create()
|
|
*
|
|
* @par Parameter type
|
|
* int
|
|
*
|
|
* @par Values
|
|
* - 0 (false) - do not use soa
|
|
* - 1 (true) - use soa with SDP O/A
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_MEDIA_ENABLE_REF()
|
|
*/
|
|
EXPORT tag_typedef_t nutag_media_enable_ref;
|
|
tag_typedef_t nutag_media_enable;
|
|
|
|
/**@def NUTAG_MEDIA_ENABLE_REF(x)
|
|
* Reference tag for NUTAG_MEDIA_ENABLE().
|
|
*/
|
|
|
|
|
|
|
|
/**@def NUTAG_SOA_NAME(x)
|
|
*
|
|
* Name for SDP Offer-Answer session object.
|
|
*
|
|
* SDP Offer-Answer session object name.
|
|
*
|
|
* @par Used with nua_create(), nua_handle().
|
|
*
|
|
* @par Parameter type
|
|
* void * (actually soa_session_t *)
|
|
*
|
|
* @par Values
|
|
* Pointer to MSS media session.
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_SOA_NAME_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_soa_name_ref;
|
|
tag_typedef_t nutag_soa_name;
|
|
|
|
/**@def NUTAG_SOA_NAME_REF(x)
|
|
* Reference tag for NUTAG_SOA_NAME().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_RETRY_COUNT(x)
|
|
*
|
|
* Set request retry count.
|
|
*
|
|
* Retry count determines how many times stack will automatically retry
|
|
* after an recoverable error response, like 302, 401 or 407.
|
|
*
|
|
* Note that the first request does not count as retry.
|
|
*
|
|
* @par Used with
|
|
* nua_create(), nua_set_params(), nua_handle(), nua_set_hparams(),
|
|
* nua_get_params(), nua_get_hparams(),
|
|
* nua_register(), nua_unregister(),
|
|
* nua_options(), nua_invite(), nua_ack(), nua_cancel(), nua_bye(),
|
|
* nua_prack(), nua_update(), nua_info(),
|
|
* nua_message(), nua_publish(), nua_unpublish(), nua_notifier(),
|
|
* nua_subscribe(), nua_unsubscribe(), nua_notify(), nua_refer(),
|
|
* nua_method(), nua_respond()
|
|
* nua_authenticate().
|
|
*
|
|
* @par Parameter type
|
|
* unsigned
|
|
*
|
|
* @par Values
|
|
* - 0 - Never retry automatically
|
|
* - Otherwise, number of extra transactions initiated after initial
|
|
* transaction failed with recoverable error response
|
|
*
|
|
* @NEW_1_12_4.
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_RETRY_COUNT_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_retry_count_ref;
|
|
tag_typedef_t nutag_retry_count;
|
|
|
|
/**@def NUTAG_RETRY_COUNT_REF(x)
|
|
*
|
|
* Reference tag for NUTAG_RETRY_COUNT().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_MAX_SUBSCRIPTIONS(x)
|
|
*
|
|
* Set maximum number of simultaneous subscribers per single event server.
|
|
*
|
|
* Determines how many subscribers can simultaneously subscribe to a single
|
|
* event.
|
|
*
|
|
* @par Used with
|
|
* nua_set_params() \n
|
|
* nua_get_params()
|
|
*
|
|
* @par Parameter type
|
|
* unsigned int
|
|
*
|
|
* @par Values
|
|
* - 0 (zero) - do not allow any subscriptions
|
|
*
|
|
* @sa nua_notifier(), nua_authorize()
|
|
*
|
|
* Corresponding tag taking reference parameter is
|
|
* NUTAG_MAX_SUBSCRIPTIONS_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_max_subscriptions_ref;
|
|
tag_typedef_t nutag_max_subscriptions;
|
|
|
|
/**@def NUTAG_MAX_SUBSCRIPTIONS_REF(x)
|
|
* Reference tag for NUTAG_MAX_SUBSCRIPTIONS().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_CALLSTATE()
|
|
*
|
|
* Call state
|
|
*
|
|
* @par Used with
|
|
* #nua_i_state
|
|
*
|
|
* @par Parameter type
|
|
* int
|
|
*
|
|
* @par Values
|
|
* - #nua_callstate_init - Initial state
|
|
* - #nua_callstate_authenticating - 401/407 received
|
|
* - #nua_callstate_calling - INVITE sent
|
|
* - #nua_callstate_proceeding - 18X received
|
|
* - #nua_callstate_completing - 2XX received
|
|
* - #nua_callstate_received - INVITE received (and 100 Trying sent)
|
|
* - #nua_callstate_early - 18X sent
|
|
* - #nua_callstate_completed - 2XX sent
|
|
* - #nua_callstate_ready - 2XX and ACK received/sent
|
|
* - #nua_callstate_terminating - BYE sent
|
|
* - #nua_callstate_terminated - BYE complete
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_CALLSTATE_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_callstate_ref;
|
|
tag_typedef_t nutag_callstate;
|
|
|
|
/**@def NUTAG_CALLSTATE_REF(x)
|
|
* Reference tag for NUTAG_CALLSTATE().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_OFFER_RECV()
|
|
*
|
|
* Indicate that SDP offer has been received.
|
|
*
|
|
* @par Used with
|
|
* #nua_i_state
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_OFFER_RECV_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_offer_recv_ref;
|
|
tag_typedef_t nutag_offer_recv;
|
|
|
|
/**@def NUTAG_OFFER_RECV_REF(x)
|
|
* Reference tag for NUTAG_OFFER_RECV().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_ANSWER_RECV()
|
|
*
|
|
* Indicate that SDP answer has been received.
|
|
*
|
|
* @par Used with
|
|
* #nua_i_state
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_ANSWER_RECV_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_answer_recv_ref;
|
|
tag_typedef_t nutag_answer_recv;
|
|
|
|
/**@def NUTAG_ANSWER_RECV_REF(x)
|
|
* Reference tag for NUTAG_ANSWER_RECV().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_OFFER_SENT()
|
|
*
|
|
* Indicate that SDP offer has been sent.
|
|
*
|
|
* @par Used with
|
|
* #nua_i_state
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_OFFER_SENT_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_offer_sent_ref;
|
|
tag_typedef_t nutag_offer_sent;
|
|
|
|
/**@def NUTAG_OFFER_SENT_REF(x)
|
|
* Reference tag for NUTAG_OFFER_SENT().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_ANSWER_SENT()
|
|
*
|
|
* Indicate that SDP answer has been sent.
|
|
*
|
|
* @par Used with
|
|
* #nua_i_state
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_ANSWER_SENT_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_answer_sent_ref;
|
|
tag_typedef_t nutag_answer_sent;
|
|
|
|
/**@def NUTAG_ANSWER_SENT_REF(x)
|
|
* Reference tag for NUTAG_ANSWER_SENT().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_SUBSTATE()
|
|
*
|
|
* Subscription state.
|
|
*
|
|
* @par Used with
|
|
* - with nua_create(), nua_set_params(), nua_get_params(),
|
|
* nua_handle(), nua_set_hparams(), nua_get_hparams(), and
|
|
* nua_notifier() to change the default subscription state returned by
|
|
* the internal event server
|
|
* - with nua_notify() and nua_respond() to SUBSCRIBE to determine the
|
|
* subscription state (if application include @SubscriptionState
|
|
* header in the tag list, the NUTAG_SUBSTATE() value is ignored)
|
|
* - with #nua_r_subscribe, #nua_i_notify, #nua_i_subscribe, and #nua_r_notify
|
|
* to indicate the current subscription state
|
|
*
|
|
* @par Parameter type
|
|
* int
|
|
*
|
|
* @par Values
|
|
* - #nua_substate_embryonic (0)
|
|
* - #nua_substate_pending (1)
|
|
* - #nua_substate_active (2)
|
|
* - #nua_substate_terminated (3)
|
|
*
|
|
* Note that the @SubscriptionState or @Expires headers specified by
|
|
* application with the nua_notify() or nua_respond() to SUBSCRIBE overrides
|
|
* the subscription state specified by NUTAG_SUBSTATE().
|
|
* Application can terminate subscription by including
|
|
* NUTAG_SUBSTATE(nua_substate_terminated), @SubscriptionState with value
|
|
* "terminated" or @Expires header with value 0 in the NOTIFY request sent
|
|
* by nua_notify().
|
|
*
|
|
* @sa @RFC3265, @SubscriptionState, SIPTAG_SUBSCRIPTION_STATE(),
|
|
* SIPTAG_SUBSCRIPTION_STATE_STR(), nua_notifier(), #nua_r_subscribe,
|
|
* #nua_i_subscribe, #nua_i_refer, #nua_r_notify, #nua_i_notify.
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_SUBSTATE_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_substate_ref;
|
|
tag_typedef_t nutag_substate;
|
|
|
|
/**@def NUTAG_SUBSTATE_REF(x)
|
|
* Reference tag for NUTAG_SUBSTATE().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_SUB_EXPIRES()
|
|
*
|
|
* Default expiration time of subscriptions.
|
|
*
|
|
* @par Used with
|
|
* - with nua_create(), nua_set_params(), nua_get_params(), nua_handle(),
|
|
* nua_set_hparams(), nua_get_hparams(), nua_respond(), nua_notify(), and
|
|
* nua_notifier() to change the default expiration time of subscriptions
|
|
*
|
|
* @par Parameter type
|
|
* unsigned int
|
|
*
|
|
* @par Values
|
|
* - default expiration time in seconds
|
|
*
|
|
* Note that the expires parameter in @SubscriptionState or @Expires header
|
|
* in the nua_response() to the SUBSCRIBE overrides the default subscription
|
|
* expiration specified by NUTAG_SUB_EXPIRES().
|
|
*
|
|
* @sa @RFC3265, NUTAG_REFER_EXPIRES(), @Expires, SIPTAG_EXPIRES(),
|
|
* SIPTAG_EXPIRES_STR(), @SubscriptionState, nua_respond(), nua_notifier(),
|
|
* #nua_r_subscribe, #nua_i_subscribe, #nua_r_refer, #nua_r_notify,
|
|
* #nua_i_notify.
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_SUB_EXPIRES_REF().
|
|
*
|
|
* @NEW_1_12_9.
|
|
*/
|
|
EXPORT tag_typedef_t nutag_sub_expires_ref;
|
|
tag_typedef_t nutag_sub_expires;
|
|
|
|
/**@def NUTAG_SUB_EXPIRES_REF(x)
|
|
* Reference tag for NUTAG_SUB_EXPIRES().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_NEWSUB()
|
|
*
|
|
* Send unsolicited NOTIFY request.
|
|
*
|
|
* Some applications may require sending unsolicited NOTIFY requests, that
|
|
* is, NOTIFY without SUBSCRIBE or REFER request sent by event watcher.
|
|
* However, sending NOTIFY request requires an existing dialog usage by
|
|
* default. If the nua_notify() tags include NUTAG_NEWSUB(1), the usage
|
|
* is created by nua_notify() itself.
|
|
*
|
|
* If you want to create a subscription that does not terminate immediately
|
|
* include SIPTAG_SUBSCRIPTION_STATE()/SIPTAG_SUBSCRIPTION_STATE_STR() with
|
|
* an "expires" parameter in the argument list, too.
|
|
*
|
|
* @par Used with
|
|
* nua_notify()
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 0 - false (default) - do not create new subscription
|
|
* but reject NOTIFY with 481 locally
|
|
* - 1 - true - create a subscription if it does not exist
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_NEWSUB_REF().
|
|
*
|
|
* @NEW_1_12_5.
|
|
*/
|
|
EXPORT tag_typedef_t nutag_newsub_ref;
|
|
tag_typedef_t nutag_newsub;
|
|
|
|
/**@def NUTAG_NEWSUB_REF(x)
|
|
* Reference tag for NUTAG_NEWSUB().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_INVITE_TIMER(x)
|
|
*
|
|
* Timer for outstanding INVITE in seconds.
|
|
*
|
|
* INVITE will be canceled if no answer is received before timer expires.
|
|
*
|
|
* @par Used with
|
|
* nua_invite() \n
|
|
* nua_set_params(), nua_set_hparams(),
|
|
* nua_get_params(), nua_get_hparams()
|
|
*
|
|
* @par Parameter type
|
|
* int (enum nua_af)
|
|
*
|
|
* @par Values
|
|
* - 0 no timer
|
|
* - >0 timer in seconds
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_INVITE_TIMER_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_invite_timer_ref;
|
|
tag_typedef_t nutag_invite_timer;
|
|
|
|
/**@def NUTAG_INVITE_TIMER_REF(x)
|
|
* Reference tag for NUTAG_INVITE_TIMER().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_SESSION_TIMER(x)
|
|
*
|
|
* Default session timer in seconds.
|
|
*
|
|
* Set default value for session timer in seconds when the session timer
|
|
* extension is used. The tag value is the proposed session expiration time
|
|
* in seconds, the session is refreshed twice during the expiration time.
|
|
*
|
|
* @par Sending INVITE and UPDATE Requests
|
|
*
|
|
* If NUTAG_SESSION_TIMER() is used with non-zero value, the value is used
|
|
* in the @SessionExpires header included in the INVITE or UPDATE requests.
|
|
* The intermediate proxies or the ultimate destination can lower the
|
|
* interval in @SessionExpires header. If the value is too low, they can
|
|
* reject the request with the status code <i>422 Session Timer Too
|
|
* Small</i>. In that case, @b nua increases the value of @SessionExpires
|
|
* header and retries the request automatically.
|
|
*
|
|
* @par Returning a Response to the INVITE and UPDATE Requests
|
|
*
|
|
* The NUTAG_SESSION_TIMER() value is also used when sending the final
|
|
* response to the INVITE or UPDATE requests. If the NUTAG_SESSION_TIMER()
|
|
* value is 0 or the value in the @SessionExpires header of the request is
|
|
* lower than the value in NUTAG_SESSION_TIMER(), the value from the
|
|
* incoming @SessionExpires header is used. However, if the value in
|
|
* @SessionExpires is lower than the minimal acceptable session expiration
|
|
* interval specified with the tag NUTAG_MIN_SE() the request is
|
|
* automatically rejected with <i>422 Session Timer Too Small</i>.
|
|
*
|
|
* @par Refreshes
|
|
*
|
|
* After the initial INVITE request, the SIP session is refreshed at the
|
|
* intervals indicated by the @SessionExpires header returned in the 2XX
|
|
* response. The party indicated with the "refresher" parameter of the
|
|
* @SessionExpires header sends a re-INVITE requests (or an UPDATE
|
|
* request if NUTAG_UPDATE_REFRESH(1) parameter tag has been set).
|
|
*
|
|
* Some SIP user-agents use INVITE without SDP offer to refresh session.
|
|
* By default, NUA sends an offer in 200 OK to such an INVITE and expects
|
|
* an answer back in ACK. If NUTAG_REFRESH_WITHOUT_SDP(1) tag is used,
|
|
* no SDP offer is sent in 200 OK if re-INVITE was received without SDP.
|
|
*
|
|
* @par When to Use NUTAG_SESSION_TIMER()?
|
|
*
|
|
* The session time extension is enabled ("timer" feature tag is included in
|
|
* @Supported header) but not activated by default (no @SessionExpires
|
|
* header is included in the requests or responses by default). Using
|
|
* non-zero value with NUTAG_SESSION_TIMER() or NUTAG_SESSION_REFRESHER()
|
|
* activates it. When the extension is activated, @nua refreshes the call
|
|
* state by sending periodic re-INVITE or UPDATE requests unless the remote
|
|
* end indicated that it will take care of refreshes.
|
|
*
|
|
* The session timer extension is mainly useful for proxies or back-to-back
|
|
* user agents that keep call state. The call state is "soft" meaning that
|
|
* if no call-related SIP messages are processed for certain time the state
|
|
* will be destroyed. An ordinary user-agent can also make use of session
|
|
* timer if it cannot get any activity feedback from RTP or other media.
|
|
*
|
|
* @note The session timer extension is used only if the feature
|
|
* tag "timer" is listed in the @Supported header, set by NUTAG_SUPPORTED(),
|
|
* SIPTAG_SUPPORTED(), or SIPTAG_SUPPORTED_STR() tags.
|
|
*
|
|
* @par Used with
|
|
* nua_invite(), nua_update(), nua_respond() \n
|
|
* nua_set_params() or nua_set_hparams() \n
|
|
* nua_get_params() or nua_get_hparams()
|
|
*
|
|
* See nua_set_hparams() for a complete list of the the nua operations that
|
|
* accept this tag.
|
|
*
|
|
* @par Parameter type
|
|
* unsigned int
|
|
*
|
|
* @par Values
|
|
* - 0 disable
|
|
* - >0 interval in seconds
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_SESSION_TIMER_REF().
|
|
*
|
|
* @sa NUTAG_SUPPORTED(), NUTAG_MIN_SE(), NUTAG_SESSION_REFRESHER(),
|
|
* nua_invite(), #nua_r_invite, #nua_i_invite, nua_respond(),
|
|
* nua_update(), #nua_r_update, #nua_i_update,
|
|
* NUTAG_UPDATE_REFRESH(), @RFC4028, @SessionExpires, @MinSE
|
|
*/
|
|
EXPORT tag_typedef_t nutag_session_timer_ref;
|
|
tag_typedef_t nutag_session_timer;
|
|
|
|
/**@def NUTAG_SESSION_TIMER_REF(x)
|
|
* Reference tag for NUTAG_SESSION_TIMER().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_MIN_SE(x)
|
|
*
|
|
* Minimum acceptable refresh interval for session.
|
|
*
|
|
* Specifies the value of @MinSE header in seconds. The @b Min-SE header is
|
|
* used to specify minimum acceptable refresh interval for session timer
|
|
* extension.
|
|
*
|
|
* @par Used with
|
|
* nua_handle(), nua_invite(), nua_update(), nua_respond() \n
|
|
* nua_set_params() or nua_set_hparams() \n
|
|
* nua_get_params() or nua_get_hparams()
|
|
*
|
|
* See nua_set_hparams() for a complete list of the nua operations that
|
|
* accept this tag.
|
|
*
|
|
* @par Parameter type
|
|
* unsigned int
|
|
*
|
|
* @par Values
|
|
* interval in seconds.
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_MIN_SE_REF().
|
|
*
|
|
* @sa NUTAG_SESSION_TIMER(), NUTAG_SESSION_REFRESHER(),
|
|
* NUTAG_UPDATE_REFRESH(), @RFC4028, @MinSE, @SessionExpires
|
|
*/
|
|
EXPORT tag_typedef_t nutag_min_se_ref;
|
|
tag_typedef_t nutag_min_se;
|
|
|
|
/**@def NUTAG_MIN_SE_REF(x)
|
|
* Reference tag for NUTAG_MIN_SE().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_SESSION_REFRESHER(x)
|
|
*
|
|
* Specify the preferred refresher.
|
|
*
|
|
* Specify for session timer extension which party is the preferred refresher.
|
|
*
|
|
* @par Used with
|
|
* nua_handle(), nua_invite(), nua_update(), nua_respond() \n
|
|
* nua_set_params() or nua_set_hparams() \n
|
|
* nua_get_params() or nua_get_hparams()
|
|
*
|
|
* See nua_set_hparams() for a complete list of all the nua operations that
|
|
* accept this tag.
|
|
*
|
|
* @par Parameter type
|
|
* enum { #nua_no_refresher, #nua_local_refresher, #nua_remote_refresher,
|
|
* #nua_any_refresher }
|
|
*
|
|
* @par Values
|
|
* - nua_no_refresher (session timers are disabled)
|
|
* - nua_local_refresher
|
|
* - nua_remote_refresher
|
|
* - nua_any_refresher (default)
|
|
*
|
|
* Corresponding tag taking reference parameter is
|
|
* NUTAG_SESSION_REFRESHER_REF().
|
|
*
|
|
* @sa NUTAG_SESSION_TIMER(), NUTAG_MIN_SE_REF(),
|
|
* NUTAG_UPDATE_REFRESH(), @RFC4028, @SessionExpires, @MinSE
|
|
*/
|
|
EXPORT tag_typedef_t nutag_session_refresher_ref;
|
|
tag_typedef_t nutag_session_refresher;
|
|
|
|
/**@def NUTAG_SESSION_REFRESHER_REF(x)
|
|
* Reference tag for NUTAG_SESSION_REFRESHER().
|
|
*/
|
|
|
|
|
|
|
|
|
|
/**@def NUTAG_UPDATE_REFRESH(x)
|
|
*
|
|
* Use UPDATE as refresh method.
|
|
*
|
|
* If this parameter is true and the remote endpoint has included UPDATE in
|
|
* Allow header, the nua stack uses UPDATE instead of INVITE to refresh the
|
|
* session when using the session timer extension.
|
|
*
|
|
* Note that the session timer headers @SessionExpires and @MinSE are always
|
|
* included in the UPDATE request and responses regardless of the value of
|
|
* this tag.
|
|
*
|
|
* @par Used with
|
|
* nua_handle(), nua_invite(), nua_update(), nua_respond() \n
|
|
* nua_set_params() or nua_set_hparams() \n
|
|
* nua_get_params() or nua_get_hparams()
|
|
*
|
|
* See nua_set_hparams() for a complete list of all the nua operations that
|
|
* accept this tag.
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 1 (true, use UPDATE)
|
|
* - 0 (false, use INVITE)
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_UPDATE_REFRESH_REF().
|
|
*
|
|
* @sa #nua_r_update, NUTAG_SESSION_TIMER(), NUTAG_MIN_SE_REF(),
|
|
* NUTAG_SESSION_REFRESHER(), @RFC4028, @SessionExpires, @MinSE
|
|
*/
|
|
EXPORT tag_typedef_t nutag_update_refresh_ref;
|
|
tag_typedef_t nutag_update_refresh;
|
|
|
|
/**@def NUTAG_UPDATE_REFRESH_REF(x)
|
|
* Reference tag for NUTAG_UPDATE_REFRESH().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_REFRESH_WITHOUT_SDP(x)
|
|
*
|
|
* Do not send offer in response if re-INVITE was received without SDP.
|
|
*
|
|
* Some SIP user-agents use INVITE without SDP offer to refresh session.
|
|
* By default, NUA sends an offer in 200 OK to such an INVITE and expects
|
|
* an answer back in ACK.
|
|
*
|
|
* If NUTAG_REFRESH_WITHOUT_SDP(1) tag is used, no SDP offer is sent in 200
|
|
* OK if re-INVITE was received without SDP.
|
|
*
|
|
* @par Used with
|
|
* nua_handle(), nua_invite(), nua_update(), nua_respond() \n
|
|
* nua_set_params() or nua_set_hparams() \n
|
|
* nua_get_params() or nua_get_hparams()
|
|
*
|
|
* See nua_set_hparams() for a complete list of all the nua operations that
|
|
* accept this tag.
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 1 (true, do not try to send offer in response to re-INVITE)
|
|
* - 0 (false, always use SDP offer-answer in re-INVITEs)
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_REFRESH_WITHOUT_SDP_REF().
|
|
*
|
|
* @sa #nua_r_update, NUTAG_SESSION_TIMER(), NUTAG_MIN_SE_REF(),
|
|
* NUTAG_SESSION_REFRESHER(), NUTAG_UPDATE_REFRESH(), @RFC4028,
|
|
* @SessionExpires, @MinSE
|
|
*/
|
|
EXPORT tag_typedef_t nutag_refresh_without_sdp_ref;
|
|
tag_typedef_t nutag_refresh_without_sdp;
|
|
|
|
/**@def NUTAG_REFRESH_WITHOUT_SDP_REF(x)
|
|
* Reference tag for NUTAG_REFRESH_WITHOUT_SDP_REF().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_REFER_EXPIRES()
|
|
*
|
|
* Default lifetime for implicit subscriptions created by REFER.
|
|
*
|
|
* Default expiration time in seconds for implicit subscriptions created by
|
|
* REFER.
|
|
*
|
|
* @par Used with
|
|
* nua_handle(), nua_respond() \n
|
|
* nua_set_params() or nua_set_hparams() \n
|
|
* nua_get_params() or nua_get_hparams()
|
|
*
|
|
* @par Parameter type
|
|
* unsigned int
|
|
*
|
|
* @par Values
|
|
* - default interval in seconds
|
|
*
|
|
* @sa NUTAG_SUB_EXPIRES()
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_REFER_EXPIRES_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_refer_expires_ref;
|
|
tag_typedef_t nutag_refer_expires;
|
|
|
|
/**@def NUTAG_REFER_EXPIRES_REF(x)
|
|
* Reference tag for NUTAG_REFER_EXPIRES().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_REFER_WITH_ID()
|
|
*
|
|
* Always use id parameter with refer event.
|
|
*
|
|
* When an incoming REFER creates an implicit subscription, the event header
|
|
* in the NOTIFY request may have an id parameter. The id parameter can be
|
|
* either always included (default behavior), or the parameter can be used
|
|
* only for the second and subsequent REFER requests received in a given
|
|
* dialog.
|
|
*
|
|
* Note that once the subscription is created, the event header should not
|
|
* be modified. Therefore this tag has no effect on already established
|
|
* subscriptions, and its use makes sense largely on nua_set_params() only.
|
|
*
|
|
* @par Used with
|
|
* nua_set_params() (nua_set_hparams(), nua_invite(), nua_respond(),
|
|
* nua_update()).
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 0 (false, do not use id with subscription created with first REFER request)
|
|
* - 1 (true, use id with all subscriptions created with REFER request)
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_REFER_WITH_ID_REF().
|
|
*
|
|
* @since New in @VERSION_1_12_2.
|
|
*/
|
|
EXPORT tag_typedef_t nutag_refer_with_id_ref;
|
|
tag_typedef_t nutag_refer_with_id;
|
|
|
|
/**@def NUTAG_REFER_WITH_ID_REF(x)
|
|
* Reference tag for NUTAG_REFER_WITH_ID().
|
|
*/
|
|
|
|
/**@def NUTAG_AUTOALERT(x)
|
|
*
|
|
* Send alerting (180 Ringing) automatically (instead of 100 Trying). If the
|
|
* early media has been enabled with NUTAG_EARLY_MEDIA(1), the stack will
|
|
* send 183, wait for PRACK and then return 180 Ringing.
|
|
*
|
|
* @par Used with
|
|
* nua_set_params() \n
|
|
* nua_get_params()
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 0 (false) - no automatic sending of "180 Ringing"
|
|
* - 1 (true) - "180 Ringing" sent automatically
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_AUTOALERT_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_autoalert_ref;
|
|
tag_typedef_t nutag_autoalert;
|
|
|
|
/**@def NUTAG_AUTOALERT_REF(x)
|
|
* Reference tag for NUTAG_AUTOALERT().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_AUTOANSWER(x)
|
|
*
|
|
* Answer (with 200 Ok) automatically to incoming call.
|
|
*
|
|
* @par Used with
|
|
* nua_set_params(), nua_set_hparams() \n
|
|
* nua_get_params(), nua_get_hparams() \n
|
|
* nua_invite() \n
|
|
* nua_respond()
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 0 (false) - No automatic sending of "200 Ok"
|
|
* - 1 (true) - "200 Ok" sent automatically
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_AUTOANSWER_REF().
|
|
*
|
|
* @note Requires that @soa is enabled with NUTAG_MEDIA_ENABLE(1).
|
|
*
|
|
* @par Auto-Answer to Re-INVITE requests
|
|
* By default, NUA tries to auto answer the re-INVITEs used to refresh the
|
|
* session when the media is enabled. Set NUTAG_AUTOANSWER(0) on the call
|
|
* handle (e.g., include the tag with nua_invite(), nua_respond()) in order
|
|
* to disable the auto answer on re-INVITEs.
|
|
*
|
|
* @bug If the re-INVITE modifies the session (e.g., SDP contains offer that
|
|
* adds video stream to the session), NUA auto-answers it if
|
|
* NUTAG_AUTOANSWER(0) has not been set on the handle. It accepts or rejects
|
|
* media based on the existing user SDP (set with SOATAG_USER_SDP(), for
|
|
* example). It should auto-answer only session refresh request and let
|
|
* application decide how to handle requests to modify the session.
|
|
*
|
|
* @sa NUTAG_MEDIA_ENABLE(), NUTAG_AUTOALERT(), NUTAG_AUTOACK().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_autoanswer_ref;
|
|
tag_typedef_t nutag_autoanswer;
|
|
|
|
/**@def NUTAG_AUTOANSWER_REF(x)
|
|
* Reference tag for NUTAG_AUTOANSWER().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_AUTOACK(x)
|
|
*
|
|
* ACK automatically
|
|
*
|
|
* If this parameter is true, ACK is sent automatically after receiving 2XX
|
|
* series response to INVITE. Note that ACK is always sent automatically by
|
|
* lower layers of the stack after receiving an error response 3XX, 4XX, 5XX
|
|
* or 6XX.
|
|
*
|
|
* @par Used with
|
|
* nua_set_params(), nua_set_hparams(), \n
|
|
* nua_get_params(), nua_get_hparams(), \n
|
|
* nua_invite(), nua_ack(), nua_respond(), nua_update() \n
|
|
* nua_respond()
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 0 (false) - No automatic sending of ACK
|
|
* - 1 (true) - ACK sent automatically
|
|
*
|
|
* Default value is NUTAG_AUTOACK(1).
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_AUTOACK_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_autoack_ref;
|
|
tag_typedef_t nutag_autoack;
|
|
|
|
/**@def NUTAG_AUTOACK_REF(x)
|
|
* Reference tag for NUTAG_AUTOACK().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_ENABLEINVITE(x)
|
|
*
|
|
* Enable incoming INVITE.
|
|
*
|
|
*
|
|
* @par Used with
|
|
* nua_set_params() \n
|
|
* nua_get_params()
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 0 (false) - Incoming INVITE not enabled. NUA answers 403 Forbidden
|
|
* - 1 (true) - Incoming INVITE enabled
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_ENABLEINVITE_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_enableinvite_ref;
|
|
tag_typedef_t nutag_enableinvite;
|
|
|
|
/**@def NUTAG_ENABLEINVITE_REF(x)
|
|
* Reference tag for NUTAG_ENABLEINVITE().
|
|
*/
|
|
|
|
|
|
|
|
/**@def NUTAG_ENABLEMESSAGE(x)
|
|
*
|
|
* Enable incoming MESSAGE
|
|
*
|
|
* @par Used with
|
|
* nua_set_params() \n
|
|
* nua_get_params()
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 0 (false) - Incoming MESSAGE not enabled. NUA answers 403 Forbidden
|
|
* - 1 (true) - Incoming MESSAGE enabled
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_ENABLEMESSAGE_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_enablemessage_ref;
|
|
tag_typedef_t nutag_enablemessage;
|
|
|
|
/**@def NUTAG_ENABLEMESSAGE_REF(x)
|
|
* Reference tag for NUTAG_ENABLEMESSAGE().
|
|
*/
|
|
|
|
|
|
|
|
/**@def NUTAG_ENABLEMESSENGER(x)
|
|
*
|
|
* Enable incoming MESSAGE with To tag.
|
|
*
|
|
* Set this parameter true if you want to chat with Windows Messenger. When
|
|
* it is set, stack will accept MESSAGE requests with To tag outside
|
|
* existing dialogs.
|
|
*
|
|
* @par Used with
|
|
* nua_set_params() \n
|
|
* nua_get_params()
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 0 (false) - disable Windows-Messenger-specific features
|
|
* - 1 (true) - enable Windows-Messenger-specific features
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_ENABLEMESSENGER_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_enablemessenger_ref;
|
|
tag_typedef_t nutag_enablemessenger;
|
|
|
|
/**@def NUTAG_ENABLEMESSENGER_REF(x)
|
|
* Reference tag for NUTAG_ENABLEMESSENGER().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_SMIME_ENABLE(x)
|
|
*
|
|
* Enable S/MIME
|
|
*
|
|
* @par Used with
|
|
* nua_create() \n
|
|
* nua_set_params() \n
|
|
* nua_get_params()
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 0 (false) - S/MIME is Disabled
|
|
* - 1 (true) - S/MIME is Enabled
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_SMIME_ENABLE_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_smime_enable_ref;
|
|
tag_typedef_t nutag_smime_enable;
|
|
|
|
/**@def NUTAG_SMIME_ENABLE_REF(x)
|
|
* Reference tag for NUTAG_SMIME_ENABLE().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_SMIME_OPT(x)
|
|
*
|
|
* S/MIME Options
|
|
*
|
|
* This tag specifies the type of S/MIME security services requested
|
|
* by the user.
|
|
*
|
|
* @par Used with
|
|
* nua_set_params() \n
|
|
* nua_get_params() \n
|
|
* nua_message()
|
|
*
|
|
* @par Parameter type
|
|
* int
|
|
*
|
|
* @par Values
|
|
* - -1 (SM_ID_NULL) No security service needed
|
|
* - 0 (SM_ID_CLEAR_SIGN) Clear signing
|
|
* - 1 (SM_ID_SIGN) S/MIME signing
|
|
* - 2 (SM_ID_ENCRYPT) S/MIME encryption
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_SMIME_OPT_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_smime_opt_ref;
|
|
tag_typedef_t nutag_smime_opt;
|
|
|
|
/**@def NUTAG_SMIME_OPT_REF(x)
|
|
* Reference tag for NUTAG_SMIME_OPT().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_SMIME_PROTECTION_MODE(x)
|
|
*
|
|
* S/MIME protection mode
|
|
*
|
|
* This tag specifies the protection mode of the SIP message by
|
|
* S/MIME as requested by the user
|
|
*
|
|
* @par Used with
|
|
* nua_set_params() \n
|
|
* nua_get_params()
|
|
*
|
|
* @par Parameter type
|
|
* unsigned int
|
|
*
|
|
* @par Values
|
|
* - -1 (SM_MODE_NULL) Unspecified
|
|
* - 0 (SM_MODE_PAYLOAD_ONLY) SIP payload only
|
|
* - 1 (SM_MODE_TUNNEL) SIP tunneling mode
|
|
* - 2 (SM_MODE_SIPFRAG) SIPfrag protection
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_SMIME_PROTECTION_MODE_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_smime_protection_mode_ref;
|
|
tag_typedef_t nutag_smime_protection_mode =
|
|
INTTAG_TYPEDEF(smime_protection_mode);
|
|
|
|
/**@def NUTAG_SMIME_PROTECTION_MODE_REF(x)
|
|
* Reference tag for NUTAG_SMIME_PROTECTION_MODE().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_SMIME_MESSAGE_DIGEST(x)
|
|
*
|
|
* S/MIME digest algorithm
|
|
*
|
|
* This tag specifies the message digest algorithm to be used in S/MIME.
|
|
*
|
|
* @par Used with
|
|
* To be implemented
|
|
*
|
|
* @par Parameter type
|
|
* char const *
|
|
*
|
|
* @par Values
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_SMIME_MESSAGE_DIGEST_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_smime_message_digest_ref;
|
|
tag_typedef_t nutag_smime_message_digest =
|
|
STRTAG_TYPEDEF(smime_message_digest);
|
|
|
|
/**@def NUTAG_SMIME_MESSAGE_DIGEST_REF(x)
|
|
* Reference tag for NUTAG_SMIME_MESSAGE_DIGEST().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_SMIME_SIGNATURE(x)
|
|
*
|
|
* S/MIME signature algorithm
|
|
*
|
|
* This tag specifies the signature algorithm to be used in S/MIME.
|
|
*
|
|
* @par Used with
|
|
* To be implemented.
|
|
*
|
|
* @par Parameter type
|
|
* char const *
|
|
*
|
|
* @par Values
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_SMIME_SIGNATURE_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_smime_signature_ref;
|
|
tag_typedef_t nutag_smime_signature =
|
|
STRTAG_TYPEDEF(smime_signature);
|
|
|
|
/**@def NUTAG_SMIME_SIGNATURE_REF(x)
|
|
* Reference tag for NUTAG_SMIME_SIGNATURE().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_SMIME_KEY_ENCRYPTION(x)
|
|
*
|
|
* S/MIME key encryption algorithm
|
|
*
|
|
* This tag specifies the key encryption algorithm to be used by S/MIME.
|
|
*
|
|
* @par Used with
|
|
* To be implemented
|
|
*
|
|
* @par Parameter type
|
|
* char const *
|
|
*
|
|
* @par Values
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_SMIME_KEY_ENCRYPTION_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_smime_key_encryption_ref;
|
|
tag_typedef_t nutag_smime_key_encryption =
|
|
STRTAG_TYPEDEF(smime_key_encryption);
|
|
|
|
/**@def NUTAG_SMIME_KEY_ENCRYPTION_REF(x)
|
|
* Reference tag for NUTAG_SMIME_KEY_ENCRYPTION().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_SMIME_MESSAGE_ENCRYPTION(x)
|
|
*
|
|
* S/MIME message encryption algorithm
|
|
*
|
|
* This tag specifies the message encryption algorithm to be used in S/MIME.
|
|
*
|
|
* @par Used with
|
|
* To be implemented.
|
|
*
|
|
* @par Parameter type
|
|
* char const *
|
|
*
|
|
* @par Values
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_SMIME_MESSAGE_ENCRYPTION_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_smime_message_encryption_ref;
|
|
tag_typedef_t nutag_smime_message_encryption =
|
|
STRTAG_TYPEDEF(smime_message_encryption);
|
|
|
|
/**@def NUTAG_SMIME_MESSAGE_ENCRYPTION_REF(x)
|
|
* Reference tag for NUTAG_SMIME_MESSAGE_ENCRYPTION().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_SIPS_URL(x)
|
|
*
|
|
* Local SIPS url.
|
|
*
|
|
* The application can specify an alternative local address for
|
|
* NUA user agent engine. Usually the alternative address is a
|
|
* secure SIP URI (SIPS) used with TLS transport.
|
|
*
|
|
* @par Used with
|
|
* nua_create()
|
|
*
|
|
* @par Parameter type
|
|
* char const *
|
|
*
|
|
* @par Values
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_SIPS_URL_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_sips_url_ref;
|
|
tag_typedef_t nutag_sips_url;
|
|
|
|
/**@def NUTAG_SIPS_URL_REF(x)
|
|
* Reference tag for NUTAG_SIPS_URL().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_CERTIFICATE_DIR(x)
|
|
*
|
|
* X.500 certificate directory
|
|
*
|
|
* @par Used with
|
|
* nua_create()
|
|
*
|
|
* @par Parameter type
|
|
* char const *
|
|
*
|
|
* @par Values
|
|
* NULL terminated pathname of directory containing agent.pem and cafile.pem files.
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_CERTIFICATE_DIR_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_certificate_dir_ref;
|
|
tag_typedef_t nutag_certificate_dir;
|
|
|
|
/**@def NUTAG_CERTIFICATE_DIR_REF(x)
|
|
* Reference tag for NUTAG_CERTIFICATE_DIR().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_CERTIFICATE_PHRASE(x)
|
|
*
|
|
* Certificate phrase
|
|
*
|
|
* @par Used with
|
|
* Currently not processed by NUA
|
|
*
|
|
* @par Parameter type
|
|
* char const *
|
|
*
|
|
* @par Values
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_CERTIFICATE_PHRASE_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_certificate_phrase_ref;
|
|
tag_typedef_t nutag_certificate_phrase;
|
|
|
|
/**@def NUTAG_CERTIFICATE_PHRASE_REF(x)
|
|
* Reference tag for NUTAG_CERTIFICATE_PHRASE().
|
|
*/
|
|
|
|
extern msg_hclass_t sip_route_class[];
|
|
|
|
/**@def NUTAG_INITIAL_ROUTE(x)
|
|
*
|
|
* Specify initial route set.
|
|
*
|
|
* The initial route set is used instead or or in addition to the outbound
|
|
* proxy URL given by NUTAG_PROXY(). The NUTAG_INITIAL_ROUTE() accepts a
|
|
* list of parsed @Route header structures, NUTAG_INITIAL_ROUTE_STR() an
|
|
* unparsed string.
|
|
*
|
|
* If a tag list contains multiple NUTAG_INITIAL_ROUTE() or
|
|
* NUTAG_INITIAL_ROUTE_STR() tags, the route set is constructed from them
|
|
* all.
|
|
*
|
|
* The initial route is inserted into request message before the route
|
|
* entries set with SIPTAG_ROUTE() or SIPTAG_ROUTE_STR().
|
|
*
|
|
* @par Used with
|
|
* nua_set_params() \n
|
|
* nua_set_hparams() \n
|
|
* any handle-specific nua call
|
|
*
|
|
* @par Parameter type
|
|
* sip_route_t const *
|
|
*
|
|
* @par Values
|
|
* Linked list of #sip_route_t structures
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_INITIAL_ROUTE_REF().
|
|
*
|
|
* @NEW_1_12_7.
|
|
*/
|
|
EXPORT tag_typedef_t nutag_initial_route_ref;
|
|
tag_typedef_t nutag_initial_route;
|
|
|
|
/**@def NUTAG_INITIAL_ROUTE_REF(x)
|
|
* Reference tag for NUTAG_INITIAL_ROUTE().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_INITIAL_ROUTE_STR(x)
|
|
*
|
|
* Specify initial route set.
|
|
*
|
|
* The initial route set is used instead or or in addition to the outbound
|
|
* proxy URL given by NUTAG_PROXY(). The NUTAG_INITIAL_ROUTE() accepts a
|
|
* list of parsed @Route header structures, NUTAG_INITIAL_ROUTE_STR() a
|
|
* unparsed string containing route URIs, quoted with <> and separated by
|
|
* commas.
|
|
*
|
|
* Please note that the syntax requires <> around the @Route URIs if they
|
|
* contain parameters, e.g., "lr".
|
|
*
|
|
* If a tag list contains multiple NUTAG_INITIAL_ROUTE() or
|
|
* NUTAG_INITIAL_ROUTE_STR() tags, the route set is constructed from them
|
|
* all.
|
|
*
|
|
* The initial route set can be reset with NUTAG_INITIAL_ROUTE(NULL).
|
|
*
|
|
* If a tag list of a request contains SIPTAG_ROUTE() or
|
|
* SIPTAG_ROUTE_STR() tags, the resulting route set will contain first the
|
|
* initial route entries followed by the route URIs given with the
|
|
* SIPTAG_ROUTE()/SIPTAG_ROUTE_STR() tags.
|
|
*
|
|
* @par Used with
|
|
* nua_set_params() \n
|
|
* nua_set_hparams() \n
|
|
* any handle-specific nua call
|
|
*
|
|
* @par Parameter type
|
|
* sip_route_t const *
|
|
*
|
|
* @par Values
|
|
* Linked list of #sip_route_t structures
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_INITIAL_ROUTE_STR_REF().
|
|
*
|
|
* @NEW_1_12_7.
|
|
*/
|
|
EXPORT tag_typedef_t nutag_initial_route_str_ref;
|
|
tag_typedef_t nutag_initial_route_str;
|
|
|
|
/**@def NUTAG_INITIAL_ROUTE_STR_REF(x)
|
|
* Reference tag for NUTAG_INITIAL_ROUTE_STR().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_REGISTRAR(x)
|
|
*
|
|
* Registrar URL
|
|
*
|
|
* @par Used with
|
|
* nua_register() \n
|
|
* nua_set_params() \n
|
|
* nua_get_params()
|
|
*
|
|
* @par Parameter type
|
|
* url_string_t const * (either char const * or url_t *)
|
|
*
|
|
* @par Values
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_REGISTRAR_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_registrar_ref;
|
|
tag_typedef_t nutag_registrar;
|
|
|
|
/**@def NUTAG_REGISTRAR_REF(x)
|
|
* Reference tag for NUTAG_REGISTRAR().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_IDENTITY(x)
|
|
*
|
|
* Registration handle (used with requests and nua_respond()) (NOT YET IMPLEMENTED)
|
|
*
|
|
* When a new request is made or new call is responded, a new identity can
|
|
* be selected with NUTAG_IDENTITY(). The identity comprises of @b From
|
|
* header, initial route set, local contact header and media tags associated
|
|
* with it, soa handle and so on. User can make multiple registrations using
|
|
* multiple identities.
|
|
*
|
|
* @par Used with
|
|
* nua_invite()
|
|
*
|
|
* @par Parameter type
|
|
* nua_handle_t *
|
|
*
|
|
* @par Values
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_IDENTITY_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_identity_ref;
|
|
tag_typedef_t nutag_identity;
|
|
|
|
/**@def NUTAG_IDENTITY_REF(x)
|
|
* Reference tag for NUTAG_IDENTITY().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_M_DISPLAY(x)
|
|
*
|
|
* Display name for @Contact.
|
|
*
|
|
* Specify display name for the Contact header URI generated for
|
|
* registration request and dialog-creating requests/responses.
|
|
*
|
|
* Note that the display name is not included the request-URI when proxy
|
|
* forwards the request towards the user-agent.
|
|
*
|
|
* @par Used with
|
|
* nua_register(), nua_set_hparams(), nua_set_params().
|
|
* nua_invite(), nua_respond(), nua_subscribe(), nua_notify()
|
|
*
|
|
* @par Parameter type
|
|
* string (char *)
|
|
*
|
|
* @par Values
|
|
* Valid display name.
|
|
*
|
|
* @sa NUTAG_M_USERNAME(), NUTAG_M_PARAMS(), NUTAG_M_FEATURES(),
|
|
* NUTAG_CALLEE_CAPS().
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_M_DISPLAY_REF().
|
|
*
|
|
* @since New in @VERSION_1_12_2.
|
|
*/
|
|
EXPORT tag_typedef_t nutag_m_display_ref;
|
|
tag_typedef_t nutag_m_display;
|
|
|
|
/**@def NUTAG_M_DISPLAY_REF(x)
|
|
* Reference tag for NUTAG_M_DISPLAY().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_M_USERNAME(x)
|
|
*
|
|
* Username prefix for @Contact.
|
|
*
|
|
* Specify username part for the Contact header URI generated for
|
|
* registration request and dialog-creating requests/responses.
|
|
*
|
|
* Using username, application can make multiple registrations using
|
|
* multiple identities, or it can distinguish between different logical
|
|
* destinations.
|
|
*
|
|
* @par Used with
|
|
* nua_register(), nua_set_hparams(), nua_set_params().
|
|
* nua_invite(), nua_respond(), nua_subscribe(), nua_notify()
|
|
*
|
|
* @par Parameter type
|
|
* string (char *)
|
|
*
|
|
* @par Values
|
|
* Valid SIP username.
|
|
*
|
|
* @sa NUTAG_M_DISPLAY(), NUTAG_M_PARAMS(), NUTAG_M_FEATURES(),
|
|
* NUTAG_CALLEE_CAPS().
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_M_USERNAME_REF().
|
|
*
|
|
* @since New in @VERSION_1_12_2.
|
|
*/
|
|
EXPORT tag_typedef_t nutag_m_username_ref;
|
|
tag_typedef_t nutag_m_username;
|
|
|
|
/**@def NUTAG_M_USERNAME_REF(x)
|
|
* Reference tag for NUTAG_M_USERNAME().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_M_PARAMS(x)
|
|
*
|
|
* URL parameters for @Contact.
|
|
*
|
|
* Specify URL parameters for the @Contact header URI generated for
|
|
* registration request and dialog-creating requests/responses.
|
|
*
|
|
* Please note that some proxies may remove even the non-transport
|
|
* parameters from the request-URI when they forward the request towards
|
|
* user-agent.
|
|
*
|
|
* @par Used with
|
|
* nua_register(), nua_set_hparams(), nua_set_params(),
|
|
* nua_invite(), nua_respond(), nua_subscribe(), nua_notify()
|
|
*
|
|
* @par Parameter type
|
|
* string (char *)
|
|
*
|
|
* @par Values
|
|
* Semicolon-separated URL parameters.
|
|
*
|
|
* @sa NUTAG_M_DISPLAY(), NUTAG_M_USERNAME(), NUTAG_M_FEATURES(),
|
|
* NUTAG_CALLEE_CAPS().
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_M_PARAMS_REF().
|
|
*
|
|
* @since New in @VERSION_1_12_2.
|
|
*/
|
|
EXPORT tag_typedef_t nutag_m_params_ref;
|
|
tag_typedef_t nutag_m_params;
|
|
|
|
/**@def NUTAG_M_PARAMS_REF(x)
|
|
* Reference tag for NUTAG_M_PARAMS().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_M_FEATURES(x)
|
|
*
|
|
* Header parameters for @Contact used in registration.
|
|
*
|
|
* Specify header parameters for the @Contact header generated for
|
|
* registration request and dialog-creating requests/responses. Such header
|
|
* parameters include "q", indicating preference for the @Contact URI, and
|
|
* "expires", indicating the desired expiration time for the registration.
|
|
*
|
|
* Additional header parameters are typically media feature tags, specified in
|
|
* @RFC3840. If NUTAG_CALLEE_CAPS(1) is specified, additional @Contact header
|
|
* parameters are generated based on SDP capabilities and SIP @Allow header.
|
|
*
|
|
* When using the "outbound" extension option, the stack will also add
|
|
* "+sip.instance" and "reg-id" header parameters to the @Contact.
|
|
*
|
|
* @par Used with
|
|
* nua_register(), nua_set_hparams(), nua_set_params()
|
|
*
|
|
* @par Parameter type
|
|
* string (char *)
|
|
*
|
|
* @par Values
|
|
* Semicolon-separated SIP header parameters.
|
|
*
|
|
* @sa NUTAG_M_DISPLAY(), NUTAG_M_USERNAME(), NUTAG_M_PARAMS(),
|
|
* NUTAG_CALLEE_CAPS(), NUTAG_IDENTITY().
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_M_FEATURES_REF().
|
|
*
|
|
* @since New in @VERSION_1_12_2.
|
|
*/
|
|
EXPORT tag_typedef_t nutag_m_features_ref;
|
|
tag_typedef_t nutag_m_features;
|
|
|
|
/**@def NUTAG_M_FEATURES_REF(x)
|
|
* Reference tag for NUTAG_M_FEATURES().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_INSTANCE(x)
|
|
*
|
|
* Intance identifier.
|
|
*
|
|
* @par Used with
|
|
* nua_create(), nua_set_params(), nua_get_params(),
|
|
* nua_register()
|
|
*
|
|
* @par Parameter type
|
|
* char const *
|
|
*
|
|
* @par Value
|
|
* urn:uuid string, a globally unique identifier for this user-agent
|
|
* instance.
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_INSTANCE_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_instance_ref;
|
|
tag_typedef_t nutag_instance;
|
|
|
|
/**@def NUTAG_INSTANCE_REF(x)
|
|
* Reference tag for NUTAG_INSTANCE().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_OUTBOUND(x)
|
|
*
|
|
* Outbound option string.
|
|
*
|
|
* The outbound option string can specify how the NAT traversal is handled.
|
|
* The option tokens are as follows:
|
|
* - "gruuize": try to generate a GRUU contact from REGISTER response
|
|
* - "outbound": use SIP outbound extension (off by default)
|
|
* - "validate": validate registration behind a NAT by sending OPTIONS to self
|
|
* - "natify": try to traverse NAT
|
|
* - "use-rport": use rport to traverse NAT
|
|
* - "options-keepalive": send periodic OPTIONS requests as keepalive messages
|
|
*
|
|
* An option token with "no-" or "not-" prefix turns the option off. For
|
|
* example, if you want to try to traverse NATs but not to use OPTIONS
|
|
* keepalive, use NUTAG_OUTBOUND("natify no-options-keepalive").
|
|
*
|
|
* An empty string can be passed to let the stack choose the
|
|
* default values for outbound usage (in the 1.12.5 release, the
|
|
* defaults are: "gruuize no-outbound validate use-port options-keepalive").
|
|
*
|
|
* @note
|
|
* Options string is used so that no new tags need to be added when the
|
|
* outbound functionality changes.
|
|
*
|
|
* @par Used with
|
|
* nua_register() \n
|
|
* nua_set_params() \n
|
|
* nua_get_params()
|
|
* nua_set_hparams() \n
|
|
* nua_get_hparams()
|
|
*
|
|
* @par Parameter type
|
|
* char const *
|
|
*
|
|
* @par Values
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_OUTBOUND_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_outbound_ref;
|
|
tag_typedef_t nutag_outbound;
|
|
|
|
/**@def NUTAG_OUTBOUND_REF(x)
|
|
* Reference tag for NUTAG_OUTBOUND().
|
|
*/
|
|
|
|
|
|
/*#@def NUTAG_OUTBOUND_SET1(x)
|
|
*
|
|
* Outbound proxy set 1.
|
|
*
|
|
* @par Used with
|
|
* nua_register() \n
|
|
* nua_set_params() \n
|
|
* nua_get_params()
|
|
* nua_set_hparams() \n
|
|
* nua_get_hparams()
|
|
*
|
|
* @par Parameter type
|
|
* char const *
|
|
*
|
|
* @par Values
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_OUTBOUND_SET1_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_outbound_set1_ref;
|
|
tag_typedef_t nutag_outbound_set1;
|
|
|
|
/*#@def NUTAG_OUTBOUND_SET1_REF(x)
|
|
* Reference tag for NUTAG_OUTBOUND_SET1().
|
|
*/
|
|
|
|
|
|
/*#@def NUTAG_OUTBOUND_SET2(x)
|
|
*
|
|
* Outbound proxy set 2.
|
|
*
|
|
* @par Used with
|
|
* nua_register() \n
|
|
* nua_set_params() \n
|
|
* nua_get_params()
|
|
* nua_set_hparams() \n
|
|
* nua_get_hparams()
|
|
*
|
|
* @par Parameter type
|
|
* char const *
|
|
*
|
|
* @par Values
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_OUTBOUND_SET2_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_outbound_set2_ref;
|
|
tag_typedef_t nutag_outbound_set2;
|
|
|
|
/*#@def NUTAG_OUTBOUND_SET2_REF(x)
|
|
* Reference tag for NUTAG_OUTBOUND_SET2().
|
|
*/
|
|
|
|
|
|
/*#@def NUTAG_OUTBOUND_SET3(x)
|
|
*
|
|
* Outbound proxy set 3.
|
|
*
|
|
* @par Used with
|
|
* nua_register() \n
|
|
* nua_set_params() \n
|
|
* nua_get_params()
|
|
* nua_set_hparams() \n
|
|
* nua_get_hparams()
|
|
*
|
|
* @par Parameter type
|
|
* char const *
|
|
*
|
|
* @par Values
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_OUTBOUND_SET3_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_outbound_set3_ref;
|
|
tag_typedef_t nutag_outbound_set3;
|
|
|
|
/*#@def NUTAG_OUTBOUND_SET3_REF(x)
|
|
* Reference tag for NUTAG_OUTBOUND_SET3().
|
|
*/
|
|
|
|
|
|
/*#@def NUTAG_OUTBOUND_SET4(x)
|
|
*
|
|
* Outbound proxy set 4.
|
|
*
|
|
* @par Used with
|
|
* nua_register() \n
|
|
* nua_set_params() \n
|
|
* nua_get_params()
|
|
* nua_set_hparams() \n
|
|
* nua_get_hparams()
|
|
*
|
|
* @par Parameter type
|
|
* char const *
|
|
*
|
|
* @par Values
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_OUTBOUND_SET4_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_outbound_set4_ref;
|
|
tag_typedef_t nutag_outbound_set4;
|
|
|
|
/*#@def NUTAG_OUTBOUND_SET4_REF(x)
|
|
* Reference tag for NUTAG_OUTBOUND_SET4().
|
|
*/
|
|
|
|
|
|
|
|
/**@def NUTAG_KEEPALIVE(x)
|
|
*
|
|
* Keepalive interval in milliseconds.
|
|
*
|
|
* This setting applies to OPTIONS/STUN keepalives. See documentation
|
|
* for nua_register() for more detailed information.
|
|
*
|
|
* @par Used with
|
|
* nua_register() \n
|
|
* nua_set_params() \n
|
|
* nua_get_params()
|
|
* nua_set_hparams() \n
|
|
* nua_get_hparams()
|
|
*
|
|
* @par Parameter type
|
|
* unsigned int
|
|
*
|
|
* @par Values
|
|
* - 0 - disable keepalives
|
|
* - 120000 - default value (120000 milliseconds, 120 seconds)
|
|
*
|
|
* Corresponding tag taking reference parameter is
|
|
* NUTAG_KEEPALIVE_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_keepalive_ref;
|
|
tag_typedef_t nutag_keepalive;
|
|
|
|
/**@def NUTAG_KEEPALIVE_REF(x)
|
|
* Reference tag for NUTAG_KEEPALIVE().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_KEEPALIVE_STREAM(x)
|
|
*
|
|
* Transport-level keepalive interval for streams.
|
|
*
|
|
* See documentation for nua_register() for more detailed information.
|
|
*
|
|
* @par Used with
|
|
* nua_register() \n
|
|
* nua_set_params() \n
|
|
* nua_get_params()
|
|
* nua_set_hparams() \n
|
|
* nua_get_hparams()
|
|
*
|
|
* @par Parameter type
|
|
* unsigned int
|
|
*
|
|
* @par Values
|
|
*
|
|
* Transport-level keepalive interval for streams in milliseconds. If this
|
|
* parameter specified, it takes presedence over value given in
|
|
* NUTAG_KEEPALIVE().
|
|
*
|
|
* Corresponding tag taking reference parameter is
|
|
* NUTAG_KEEPALIVE_STREAM_REF().
|
|
*
|
|
* @todo Actually pass NUTAG_KEEPALIVE_STREAM() to transport layer.
|
|
*/
|
|
EXPORT tag_typedef_t nutag_keepalive_stream_ref;
|
|
tag_typedef_t nutag_keepalive_stream;
|
|
|
|
/**@def NUTAG_KEEPALIVE_STREAM_REF(x)
|
|
* Reference tag for NUTAG_KEEPALIVE_STREAM().
|
|
*/
|
|
|
|
|
|
|
|
/**@def NUTAG_USE_DIALOG(x)
|
|
*
|
|
* Ask NUA to create dialog for this handle
|
|
*
|
|
* @par Used with nua calls that send a SIP request
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 0 (false) - do not create a dialog
|
|
* - 1 (true) - store dialog info
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_USE_DIALOG_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_use_dialog_ref;
|
|
tag_typedef_t nutag_use_dialog;
|
|
|
|
/**@def NUTAG_USE_DIALOG_REF(x)
|
|
* Reference tag for NUTAG_USE_DIALOG().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_AUTH(x)
|
|
*
|
|
* Authentication data ("scheme" "realm" "user" "password")
|
|
*
|
|
* @par Used with
|
|
* nua_authenticate()
|
|
*
|
|
* @par Parameter type
|
|
* char const *
|
|
*
|
|
* @par Values
|
|
* NULL terminated string of format: \n
|
|
* basic digest scheme:"realm":user:password \n
|
|
* @b NOTE the double quotes around realm!
|
|
* For example: \n
|
|
* \code Digest:"nokia proxy":xyz:secret \endcode
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_AUTH_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_auth_ref;
|
|
tag_typedef_t nutag_auth;
|
|
|
|
/**@def NUTAG_AUTH_REF(x)
|
|
* Reference tag for NUTAG_AUTH().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_AUTHTIME(x)
|
|
*
|
|
* Lifetime of authentication data in seconds.
|
|
*
|
|
* @par Used with
|
|
* Currently not processed by NUA
|
|
*
|
|
* @par Parameter type
|
|
* unsigned int
|
|
*
|
|
* @par Values
|
|
* - 0 (zero) - Use authentication data only for this handle
|
|
* - nonzero - Lifetime of authentication data in seconds
|
|
*
|
|
* @todo
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_AUTHTIME_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_authtime_ref;
|
|
tag_typedef_t nutag_authtime;
|
|
|
|
/**@def NUTAG_AUTHTIME_REF(x)
|
|
* Reference tag for NUTAG_AUTHTIME().
|
|
*/
|
|
|
|
|
|
|
|
/**@def NUTAG_EVENT(x)
|
|
*
|
|
* NUA event.
|
|
*
|
|
* @deprecated
|
|
*
|
|
* @par Parameter type
|
|
* enum nua_event_e
|
|
*
|
|
* @par Values
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_EVENT_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_event_ref;
|
|
tag_typedef_t nutag_event;
|
|
|
|
/**@def NUTAG_EVENT_REF(x)
|
|
* Reference tag for NUTAG_EVENT().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_STATUS(x)
|
|
*
|
|
* Response status code
|
|
*
|
|
* @deprecated
|
|
*
|
|
* @par Parameter type
|
|
* unsigned int
|
|
*
|
|
* @par Values
|
|
* - 100 - preliminary response, request is being processed by next hop
|
|
* - 1XX - preliminary response, request is being processed by UAS
|
|
* - 2XX - successful final response
|
|
* - 3XX - redirection error response
|
|
* - 4XX - client error response
|
|
* - 5XX - server error response
|
|
* - 6XX - global error response
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_STATUS_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_status_ref;
|
|
tag_typedef_t nutag_status;
|
|
|
|
/**@def NUTAG_STATUS_REF(x)
|
|
* Reference tag for NUTAG_STATUS().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_PHRASE(x)
|
|
*
|
|
* Response phrase
|
|
*
|
|
* @deprecated
|
|
*
|
|
* @par Parameter type
|
|
* char const *
|
|
*
|
|
* @par Values.
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_PHRASE_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_phrase_ref;
|
|
tag_typedef_t nutag_phrase;
|
|
|
|
/**@def NUTAG_PHRASE_REF(x)
|
|
* Reference tag for NUTAG_PHRASE().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_HANDLE(x)
|
|
*
|
|
* NUA Handle
|
|
*
|
|
* @deprecated
|
|
*
|
|
* @par Parameter type
|
|
* nua_handle_t *
|
|
*
|
|
* @par Values
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_HANDLE_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_handle_ref;
|
|
tag_typedef_t nutag_handle;
|
|
|
|
/**@def NUTAG_HANDLE_REF(x)
|
|
* Reference tag for NUTAG_HANDLE().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_NOTIFY_REFER(x)
|
|
*
|
|
* Refer reply handle (used with refer)
|
|
*
|
|
* When making a call in response to a REFER request [RFC3515] with
|
|
* nua_invite(), the application can ask NUA to automatically generate
|
|
* notifications about the call progress to the referrer. In order to
|
|
* do that the application should pass to the stack the handle, which
|
|
* it used to receive the REFER request. It should also pass the event
|
|
* header object along with the handle using NUTAG_REFER_EVENT().
|
|
*
|
|
* @par Used with
|
|
* nua_invite()
|
|
*
|
|
* @par Parameter type
|
|
* nua_handle_t *
|
|
*
|
|
* @par Values
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_NOTIFY_REFER_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_notify_refer_ref;
|
|
tag_typedef_t nutag_notify_refer;
|
|
|
|
/**@def NUTAG_NOTIFY_REFER_REF(x)
|
|
* Reference tag for NUTAG_NOTIFY_REFER().
|
|
*/
|
|
|
|
/**@def NUTAG_REFER_EVENT(x)
|
|
*
|
|
* Event used with automatic refer notifications.
|
|
*
|
|
* When creating a call in response to a REFER request [RFC3515]
|
|
* the application can ask NUA to automatically generate notifications
|
|
* about the call progress to the referrer. The #nua_i_refer event will
|
|
* contain a suitable SIP event header for the notifications in the
|
|
* NUTAG_REFER_EVENT() tag. The application should store the SIP event
|
|
* header and when it makes the referred call, it should pass it back
|
|
* to the stack again using the NUTAG_REFER_EVENT() tag.
|
|
*
|
|
* @par Used with
|
|
*
|
|
* @par Parameter type
|
|
* sip_event_t *
|
|
*
|
|
* @par Values
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_REFER_EVENT_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_refer_event_ref;
|
|
tag_typedef_t nutag_refer_event;
|
|
|
|
/**@def NUTAG_REFER_EVENT_REF(x)
|
|
* Reference tag for NUTAG_REFER_EVENT().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_REFER_PAUSE()
|
|
*
|
|
* Invite pauses referrer's handle.
|
|
*
|
|
* When creating a call in response to a REFER [RFC3515] request,
|
|
* the application can ask that the original call will be muted
|
|
* when the new call is connected by specifying NUTAG_REFER_PAUSE()
|
|
* along with NUTAG_NOTIFY_REFER() as a parameter to nua_invite() call.
|
|
*
|
|
* @par Used with
|
|
* nua_invite()
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 0 (false) - do not pause referring call
|
|
* - 1 (true) - pause referring call
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_REFER_PAUSE_REF().
|
|
*
|
|
* @deprecated Not implemented.
|
|
*/
|
|
EXPORT tag_typedef_t nutag_refer_pause_ref;
|
|
tag_typedef_t nutag_refer_pause;
|
|
|
|
/**@def NUTAG_REFER_PAUSE_REF(x)
|
|
* Reference tag for NUTAG_REFER_PAUSE().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_USER_AGENT()
|
|
*
|
|
* User-Agent string.
|
|
*
|
|
* Indicate the User-Agent header used by the stack. The value set with this
|
|
* tag is concatenated with the value indicating the stack name and version,
|
|
* e.g., "sofia-sip/1.12.1" unless the stack name "sofia-sip" followed by
|
|
* slash is already included in the string. The concatenated value is
|
|
* returned in SIPTAG_USER_AGENT_STR() and NUTAG_USER_AGENT() when
|
|
* nua_get_params() is called.
|
|
*
|
|
* If you want to set the complete string, use SIPTAG_USER_AGENT_STR() or
|
|
* SIPTAG_USER_AGENT().
|
|
*
|
|
* @par Used with
|
|
* nua_set_params(), nua_set_hparams() \n
|
|
* nua_get_params(), nua_get_hparams(), #nua_r_get_params \n
|
|
* any handle-specific nua call
|
|
*
|
|
* @par Parameter type
|
|
* char const *
|
|
*
|
|
* @par Values
|
|
* See @RFC3261 \n
|
|
* If NULL, stack uses default string which of format "sofia-sip/1.12".
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_USER_AGENT_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_user_agent_ref;
|
|
tag_typedef_t nutag_user_agent;
|
|
|
|
/**@def NUTAG_USER_AGENT_REF(x)
|
|
* Reference tag for NUTAG_USER_AGENT().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_ALLOW()
|
|
*
|
|
* Allow a method (or methods).
|
|
*
|
|
* This tag is used to add a new method to the already existing set of
|
|
* allowed methods. If you want to ignore the existing set of allowed
|
|
* methods, use SIPTAG_ALLOW_STR() or SIPTAG_ALLOW().
|
|
*
|
|
* The set of allowed methods is added to the @Allow header in the response
|
|
* or request messages. For incoming request, an error response <i>405
|
|
* Method Not Allowed</i> is automatically returned if the incoming method
|
|
* is not included in the set.
|
|
*
|
|
* @par Used with
|
|
* nua_set_params() \n
|
|
* nua_set_hparams() \n
|
|
* any handle-specific nua call
|
|
*
|
|
* @par Parameter type
|
|
* char const *
|
|
*
|
|
* @par Values
|
|
* Valid method name, or comma-separated list of them.
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_ALLOW_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_allow_ref;
|
|
tag_typedef_t nutag_allow;
|
|
|
|
/**@def NUTAG_ALLOW_REF(x)
|
|
* Reference tag for NUTAG_ALLOW().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_ALLOW_EVENTS()
|
|
*
|
|
* Allow an event or events.
|
|
*
|
|
* This tag is used to add a new event to the already existing set of
|
|
* allowed events. If you want to ignore the existing set of allowed events,
|
|
* set the allowed event set with SIPTAG_ALLOW_EVENTS_STR() or
|
|
* SIPTAG_ALLOW_EVENTS().
|
|
*
|
|
* The set of allowed methods is added to the @AllowEvents header in the
|
|
* response to the SUBSCRIBE or PUBLISH requests. For incoming SUBSCRIBE or
|
|
* PUBLISH request, an error response <i>489 Bad Event</i> is automatically
|
|
* returned if the incoming method is not included in the set.
|
|
*
|
|
* @par Used with
|
|
* nua_set_params() \n
|
|
* nua_set_hparams() \n
|
|
* any handle-specific nua call
|
|
*
|
|
* @par Parameter type
|
|
* char const *
|
|
*
|
|
* @par Values
|
|
* Valid event name, or comma-separated list of them.
|
|
*
|
|
* @sa @AllowEvents, @RFC3265, @RFC3903, #nua_i_subscribe, #nua_i_publish,
|
|
* nua_subscribe(), nua_publish(), SIPTAG_ALLOW_EVENTS(),
|
|
* SIPTAG_ALLOW_EVENTS_STR()
|
|
*
|
|
* @NEW_1_12_4.
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_ALLOW_EVENTS_REF().
|
|
*/
|
|
EXPORT tag_typedef_t nutag_allow_events_ref;
|
|
tag_typedef_t nutag_allow_events;
|
|
|
|
/**@def NUTAG_ALLOW_EVENTS_REF(x)
|
|
* Reference tag for NUTAG_ALLOW_EVENTS().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_APPL_METHOD()
|
|
*
|
|
* Indicate that a method (or methods) are handled by application.
|
|
*
|
|
* This tag is used to add a new method to the already existing set of
|
|
* methods handled by application, or clear the set. If you want to
|
|
* determine the set explicitly, include NUTAG_APPL_METHOD() twice,
|
|
* first with NULL and then with your supported set.
|
|
*
|
|
* The default set of application methods now include INVITE, REGISTER,
|
|
* PUBLISH and SUBSCRIBE.
|
|
*
|
|
* If the request method is in the set of methods handled by application,
|
|
* the nua stack does not automatically respond to the incoming request nor
|
|
* it will automatically send such a request. Note if the application adds
|
|
* the PRACK and UPDATE requests to the set of application methods it must
|
|
* also take care for sending the PRACK and UPDATE requests during the call
|
|
* setup when necessary.
|
|
*
|
|
* @par Used with
|
|
* nua_set_params() \n
|
|
* nua_set_hparams() \n
|
|
* any handle-specific nua call
|
|
*
|
|
* @par Parameter type
|
|
* char const *
|
|
*
|
|
* @par Values
|
|
* Valid method name, or comma-separated list of them.
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_APPL_METHOD_REF().
|
|
*
|
|
* @since Working since @VERSION_1_12_5. Handling of client-side PRACK and
|
|
* UPDATE was fixed in @VERSION_1_12_6.
|
|
*/
|
|
EXPORT tag_typedef_t nutag_appl_method_ref;
|
|
tag_typedef_t nutag_appl_method;
|
|
|
|
/**@def NUTAG_APPL_METHOD_REF(x)
|
|
* Reference tag for NUTAG_APPL_METHOD().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_SUPPORTED()
|
|
*
|
|
* Support a feature.
|
|
*
|
|
* This tag is used to add a new feature to the existing set of supported
|
|
* SIP features. If you want to ignore the existing set of supported
|
|
* features, use SIPTAG_SUPPORTED_STR() or SIPTAG_SUPPORTED().
|
|
*
|
|
* The set of supported features is added to the @Supported header in the
|
|
* response or request messages. For incoming requests, an error response
|
|
* <i>420 Bad Extension </i> is automatically returned if the request
|
|
* requires features that are not included in the supported feature set.
|
|
*
|
|
* @par Used with
|
|
* nua_set_params() \n
|
|
* nua_set_hparams() \n
|
|
* any handle-specific nua call
|
|
*
|
|
* @par Parameter type
|
|
* char const *
|
|
*
|
|
* @par Values
|
|
* Feature name, or comma-separated list of them.
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_SUPPORTED_REF().
|
|
*
|
|
* @since New in @VERSION_1_12_2.
|
|
*/
|
|
EXPORT tag_typedef_t nutag_supported_ref;
|
|
tag_typedef_t nutag_supported;
|
|
|
|
/**@def NUTAG_SUPPORTED_REF(x)
|
|
* Reference tag for NUTAG_SUPPORTED().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_PATH_ENABLE(x)
|
|
*
|
|
* If true, add "path" to @Supported in REGISTER.
|
|
*
|
|
* @par Used with
|
|
* - nua_create(), nua_set_params(), nua_get_params()
|
|
* - nua_handle(), nua_set_hparams(), nua_get_hparams()
|
|
* - nua_register()
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 0 (false) - Do not include "path" to @Supported header
|
|
* - 1 (true) - Include "path" to @Supported header
|
|
*
|
|
* @sa NUTAG_SERVICE_ROUTE_ENABLE(), NUTAG_SUPPORTED(),
|
|
* NUTAG_INITIAL_ROUTE(), NUTAG_INITIAL_ROUTE_STR(), @RFC3327
|
|
* <i>"SIP Extension Header Field for Registering Non-Adjacent Contacts"</i>,
|
|
* D. Willis, B. Hoeneisen,
|
|
* December 2002.
|
|
*/
|
|
EXPORT tag_typedef_t nutag_path_enable_ref;
|
|
tag_typedef_t nutag_path_enable;
|
|
|
|
/**@def NUTAG_PATH_ENABLE_REF(x)
|
|
* Reference tag for NUTAG_PATH_ENABLE().
|
|
*/
|
|
|
|
|
|
|
|
/**@def NUTAG_SERVICE_ROUTE_ENABLE(x)
|
|
*
|
|
* Use route taken from the @ServiceRoute header in the 200 class response
|
|
* to REGISTER.
|
|
*
|
|
* @par Used with
|
|
* - nua_create(), nua_set_params(), nua_get_params()
|
|
* - nua_handle(), nua_set_hparams(), nua_get_hparams()
|
|
* - nua_register()
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 0 (false) - Do not use @ServiceRoute
|
|
* - 1 (true) - Use @ServiceRoute
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_SERVICE_ROUTE_ENABLE_REF().
|
|
*
|
|
* @sa NUTAG_INITIAL_ROUTE(), NUTAG_INITIAL_ROUTE_STR(), @RFC3608
|
|
*
|
|
* @todo
|
|
*/
|
|
EXPORT tag_typedef_t nutag_service_route_enable_ref;
|
|
tag_typedef_t nutag_service_route_enable =
|
|
BOOLTAG_TYPEDEF(service_route_enable);
|
|
|
|
/**@def NUTAG_SERVICE_ROUTE_ENABLE_REF(x)
|
|
* Reference tag for NUTAG_SERVICE_ROUTE_ENABLE().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_AUTH_CACHE(x)
|
|
*
|
|
* Authentication caching policy
|
|
*
|
|
* @par Used with
|
|
* nua_set_params(), nua_set_hparams() \n
|
|
* nua_get_params(), nua_get_hparams() \n
|
|
* @NUA_HPARAM_CALLS
|
|
*
|
|
* @par Parameter type
|
|
* enum nua_auth_cache
|
|
*
|
|
* @par Values
|
|
* - nua_auth_cache_dialog (0) - include credentials within dialog
|
|
* - nua_auth_cache_challenged (1) - include credentials only when
|
|
* challenged
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_AUTH_CACHE_REF().
|
|
*
|
|
* @NEW_1_12_6.
|
|
*/
|
|
EXPORT tag_typedef_t nutag_auth_cache_ref;
|
|
tag_typedef_t nutag_auth_cache;
|
|
|
|
/**@def NUTAG_AUTH_CACHE_REF(x)
|
|
* Reference tag for NUTAG_AUTH_CACHE().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_DETECT_NETWORK_UPDATES(x)
|
|
*
|
|
* Enable detection of local IP address updates.
|
|
*
|
|
* @par Used with
|
|
* nua_create() \n
|
|
* nua_set_params() \n
|
|
* nua_get_params()
|
|
*
|
|
* @par Parameter type
|
|
* int (enum nua_nw_detector_e aka #nua_nw_detector_t)
|
|
*
|
|
* @sa #nua_i_network_changed, #nua_nw_detector_t
|
|
*
|
|
* Corresponding tag taking reference parameter is
|
|
* NUTAG_DETECT_NETWORK_UPDATES_REF().
|
|
*
|
|
* @since New in @VERSION_1_12_2.
|
|
*/
|
|
EXPORT tag_typedef_t nutag_detect_network_updates_ref;
|
|
tag_typedef_t nutag_detect_network_updates;
|
|
|
|
/**@def NUTAG_DETECT_NETWORK_UPDATES_REF(x)
|
|
* Reference tag for NUTAG_DETECT_NETWORK_UPDATES().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_WITH_THIS(nua)
|
|
*
|
|
* Specify request to respond to.
|
|
*
|
|
* @par Used with
|
|
* nua_respond()
|
|
*
|
|
* @par Parameter type
|
|
* nua_t *
|
|
*
|
|
* @par Values
|
|
* Pointer to the nua agent instance object.
|
|
*
|
|
* @NEW_1_12_4.
|
|
*
|
|
* @sa NUTAG_WITH(), NUTAG_WITH_SAVED()
|
|
*/
|
|
|
|
/**@def NUTAG_WITH(msg)
|
|
*
|
|
* Specify request to respond to.
|
|
*
|
|
* @par Used with
|
|
* nua_respond()
|
|
*
|
|
* @par Parameter type
|
|
* msg_t *
|
|
*
|
|
* @par Values
|
|
* Pointer to a request message.
|
|
*
|
|
* @NEW_1_12_4.
|
|
*
|
|
* @sa nua_save_event(), NUTAG_WITH_THIS(), NUTAG_WITH_SAVED()
|
|
*/
|
|
|
|
/**@def NUTAG_WITH_SAVED(event)
|
|
*
|
|
* Specify request to respond to.
|
|
*
|
|
* @par Used with
|
|
* nua_respond()
|
|
*
|
|
* @par Parameter type
|
|
* nua_saved_event_t *
|
|
*
|
|
* @par Values
|
|
* Pointer to a saved event.
|
|
*
|
|
* @NEW_1_12_4.
|
|
*
|
|
* @sa nua_save_event(), NUTAG_WITH(), NUTAG_WITH_THIS()
|
|
*/
|
|
|
|
EXPORT tag_typedef_t nutag_with_ref;
|
|
tag_typedef_t nutag_with;
|
|
|
|
|
|
/**@def NUTAG_DIALOG(x)
|
|
*
|
|
* An (extension) method is used to create dialog or refresh target.
|
|
*
|
|
* @par Used with
|
|
* nua_method()
|
|
*
|
|
* @par Parameter type
|
|
* unsigned int (0, 1, 2)
|
|
*
|
|
* @par Values
|
|
* - 0 if dialog target is not refreshed
|
|
* - 1 if dialog target is refreshed
|
|
* - > 1 if dialog is to be created
|
|
*
|
|
* @NEW_1_12_6.
|
|
*
|
|
* @sa nua_method(), #nua_i_method
|
|
*/
|
|
EXPORT tag_typedef_t nutag_dialog_ref;
|
|
tag_typedef_t nutag_dialog;
|
|
|
|
|
|
/**@def NUTAG_PROXY(x)
|
|
*
|
|
* Outbound proxy URL.
|
|
*
|
|
* Same tag as NTATAG_DEFAULT_PROXY()
|
|
*
|
|
* @par Used with
|
|
* nua_set_params() \n
|
|
* nua_get_params() \n
|
|
* nua_create()
|
|
* @note
|
|
* Since @VERSION_1_12_9, NUTAG_PROXY()/NTATAG_DEFAULT_PROXY() can be used
|
|
* to set handle-specific outbound route. The route is set with \n
|
|
* nua_set_hparams(), \n
|
|
* nua_invite(), nua_prack(), nua_ack(), nua_update(), nua_respond(), \n
|
|
* nua_info(), nua_cancel(), nua_bye(), \n
|
|
* nua_register(), nua_unregister(), nua_publish(), nua_unpublish(), \n
|
|
* nua_subscribe(), nua_unsubscribe(), nua_refer(), nua_notify(), \n
|
|
* nua_options(), nua_message(), nua_method()
|
|
*
|
|
* @par Parameter type
|
|
* url_string_t const * (either char const * or url_t *)
|
|
*
|
|
* @par Values
|
|
* NULL implies routing based on request-URI or Route header.
|
|
* Non-NULL is used as invisible routing URI, ie., routing URI that is
|
|
* not included in the request.
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_PROXY_REF().
|
|
*/
|
|
|
|
/**@def NUTAG_PROXY_REF(x)
|
|
* Reference tag for NUTAG_PROXY().
|
|
*/
|
|
|
|
/**@def NUTAG_SIP_PARSER(x)
|
|
*
|
|
* Pointer to SIP parser structure
|
|
*
|
|
* @par Used with
|
|
* nua_create()
|
|
*
|
|
* @par Parameter type
|
|
* msg_mclass_t const *
|
|
*
|
|
* @par Values
|
|
* Pointer to an extended SIP parser.
|
|
*
|
|
* @sa msg_mclass_clone(), msg_mclass_insert_header()
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_SIP_PARSER_REF().
|
|
*/
|
|
|
|
/**@def NUTAG_SIP_PARSER_REF(x)
|
|
* Reference tag for NUTAG_SIP_PARSER().
|
|
*/
|
|
|
|
|
|
/**@def NUTAG_SHUTDOWN_EVENTS(x)
|
|
*
|
|
* Allow passing of normal events when stack is being shut down.
|
|
*
|
|
* By default, only #nua_r_shutdown events are passed to application after
|
|
* calling nua_shutdown(). If application is interested in nua events during
|
|
* shutdown, it should give NUTAG_SHUTDOWN_EVENTS(1) to nua_create() or
|
|
* nua_set_params() called before nua_shutdown().
|
|
*
|
|
* @par Used with
|
|
* nua_create(), nua_set_params().
|
|
*
|
|
* @par Parameter type
|
|
* int (boolean: nonzero is true, zero is false)
|
|
*
|
|
* @par Values
|
|
* - 0 (false) - pass only #nua_r_shutdown events to application during shutdown
|
|
* - 1 (true) - pass all events to application during shutdown
|
|
*
|
|
* Corresponding tag taking reference parameter is NUTAG_SHUTDOWN_EVENTS_REF().
|
|
*
|
|
* @sa nua_shutdown(), nua_destroy().
|
|
*
|
|
* @NEW_1_12_9.
|
|
*/
|
|
EXPORT tag_typedef_t nutag_shutdown_events_ref;
|
|
tag_typedef_t nutag_shutdown_events;
|
|
|
|
/**@def NUTAG_SHUTDOWN_EVENTS_REF(x)
|
|
* Reference tag for NUTAG_SHUTDOWN_EVENTS().
|
|
*/
|
|
|
|
|
|
/* ---------------------------------------------------------------------- */
|
|
|
|
EXPORT tag_typedef_t nutag_soa_session_ref;
|
|
tag_typedef_t nutag_soa_session;
|
|
EXPORT tag_typedef_t nutag_hold_ref;
|
|
tag_typedef_t nutag_hold;
|
|
EXPORT tag_typedef_t nutag_address_ref;
|
|
tag_typedef_t nutag_address;
|
|
|
|
#include <windows.h>
|
|
|
|
BOOL WINAPI DllMain(HINSTANCE hInst, DWORD fwdReason, LPVOID fImpLoad)
|
|
{
|
|
tag_typedef_t _nutag_retry_count = UINTTAG_TYPEDEF(retry_count);
|
|
tag_typedef_t _nutag_retry_count_ref =
|
|
REFTAG_TYPEDEF(nutag_retry_count);
|
|
tag_typedef_t _nutag_uicc = STRTAG_TYPEDEF(uicc);
|
|
tag_typedef_t _nutag_uicc_ref =
|
|
REFTAG_TYPEDEF(nutag_uicc);
|
|
tag_typedef_t _nutag_smime_opt = INTTAG_TYPEDEF(smime_opt);
|
|
tag_typedef_t _nutag_smime_opt_ref =
|
|
REFTAG_TYPEDEF(nutag_smime_opt);
|
|
tag_typedef_t _nutag_sips_url = URLTAG_TYPEDEF(sips_url);
|
|
tag_typedef_t _nutag_sips_url_ref =
|
|
REFTAG_TYPEDEF(nutag_sips_url);
|
|
tag_typedef_t _nutag_soa_session = PTRTAG_TYPEDEF(soa_session);
|
|
tag_typedef_t _nutag_soa_session_ref =
|
|
REFTAG_TYPEDEF(nutag_soa_session);
|
|
tag_typedef_t _nutag_keepalive_stream = UINTTAG_TYPEDEF(keepalive_stream);
|
|
tag_typedef_t _nutag_keepalive_stream_ref =
|
|
REFTAG_TYPEDEF(nutag_keepalive_stream);
|
|
tag_typedef_t _nutag_enablemessenger = BOOLTAG_TYPEDEF(enableMessenger);
|
|
tag_typedef_t _nutag_enablemessenger_ref =
|
|
REFTAG_TYPEDEF(nutag_enablemessenger);
|
|
tag_typedef_t _nutag_path_enable = BOOLTAG_TYPEDEF(path_enable);
|
|
tag_typedef_t _nutag_path_enable_ref =
|
|
REFTAG_TYPEDEF(nutag_path_enable);
|
|
tag_typedef_t _nutag_early_ims = BOOLTAG_TYPEDEF(early_ims);
|
|
tag_typedef_t _nutag_early_ims_ref =
|
|
REFTAG_TYPEDEF(nutag_early_ims);
|
|
tag_typedef_t _nutag_initial_route_str = STRTAG_TYPEDEF(inital_route_str);
|
|
tag_typedef_t _nutag_initial_route_str_ref =
|
|
REFTAG_TYPEDEF(nutag_initial_route_str);
|
|
tag_typedef_t _nutag_certificate_dir = STRTAG_TYPEDEF(certificate_dir);
|
|
tag_typedef_t _nutag_certificate_dir_ref =
|
|
REFTAG_TYPEDEF(nutag_certificate_dir);
|
|
tag_typedef_t _nutag_authtime = INTTAG_TYPEDEF(authtime);
|
|
tag_typedef_t _nutag_authtime_ref =
|
|
REFTAG_TYPEDEF(nutag_authtime);
|
|
tag_typedef_t _nutag_smime_signature =
|
|
tag_typedef_t _nutag_smime_signature_ref =
|
|
REFTAG_TYPEDEF(nutag_smime_signature);
|
|
tag_typedef_t _nutag_enableinvite = BOOLTAG_TYPEDEF(enableInvite);
|
|
tag_typedef_t _nutag_enableinvite_ref =
|
|
REFTAG_TYPEDEF(nutag_enableinvite);
|
|
tag_typedef_t _nutag_answer_sent = BOOLTAG_TYPEDEF(answer_sent);
|
|
tag_typedef_t _nutag_answer_sent_ref =
|
|
REFTAG_TYPEDEF(nutag_answer_sent);
|
|
tag_typedef_t _nutag_smime_message_encryption =
|
|
tag_typedef_t _nutag_smime_message_encryption_ref =
|
|
REFTAG_TYPEDEF(nutag_smime_message_encryption);
|
|
tag_typedef_t _nutag_keepalive = UINTTAG_TYPEDEF(keepalive);
|
|
tag_typedef_t _nutag_keepalive_ref =
|
|
REFTAG_TYPEDEF(nutag_keepalive);
|
|
tag_typedef_t _nutag_auth = STRTAG_TYPEDEF(auth);
|
|
tag_typedef_t _nutag_auth_ref =
|
|
REFTAG_TYPEDEF(nutag_auth);
|
|
tag_typedef_t _nutag_min_se = UINTTAG_TYPEDEF(min_se);
|
|
tag_typedef_t _nutag_min_se_ref =
|
|
REFTAG_TYPEDEF(nutag_min_se);
|
|
tag_typedef_t _nutag_url = URLTAG_TYPEDEF(url);
|
|
tag_typedef_t _nutag_url_ref =
|
|
REFTAG_TYPEDEF(nutag_url);
|
|
tag_typedef_t _nutag_identity = PTRTAG_TYPEDEF(identity);
|
|
tag_typedef_t _nutag_identity_ref =
|
|
REFTAG_TYPEDEF(nutag_identity);
|
|
tag_typedef_t _nutag_notify_refer = PTRTAG_TYPEDEF(notify_refer);
|
|
tag_typedef_t _nutag_notify_refer_ref =
|
|
REFTAG_TYPEDEF(nutag_notify_refer);
|
|
tag_typedef_t _nutag_initial_route = SIPEXTHDRTAG_TYPEDEF(initial_route, route);
|
|
tag_typedef_t _nutag_initial_route_ref =
|
|
REFTAG_TYPEDEF(nutag_initial_route);
|
|
tag_typedef_t _nutag_early_media = BOOLTAG_TYPEDEF(early_media);
|
|
tag_typedef_t _nutag_early_media_ref =
|
|
REFTAG_TYPEDEF(nutag_early_media);
|
|
tag_typedef_t _nutag_impi = STRTAG_TYPEDEF(impi)
|
|
tag_typedef_t _nutag_impi_ref =
|
|
REFTAG_TYPEDEF(nutag_impi);
|
|
tag_typedef_t _nutag_service_route_enable =
|
|
tag_typedef_t _nutag_service_route_enable_ref =
|
|
REFTAG_TYPEDEF(nutag_service_route_enable);
|
|
tag_typedef_t _nutag_allow_events = STRTAG_TYPEDEF(allow_events);
|
|
tag_typedef_t _nutag_allow_events_ref =
|
|
REFTAG_TYPEDEF(nutag_allow_events);
|
|
tag_typedef_t _nutag_smime_message_digest =
|
|
tag_typedef_t _nutag_smime_message_digest_ref =
|
|
REFTAG_TYPEDEF(nutag_smime_message_digest);
|
|
tag_typedef_t _nutag_only183_100rel = BOOLTAG_TYPEDEF(only183_100rel);
|
|
tag_typedef_t _nutag_only183_100rel_ref =
|
|
REFTAG_TYPEDEF(nutag_only183_100rel);
|
|
tag_typedef_t _nutag_use_dialog = BOOLTAG_TYPEDEF(use_dialog);
|
|
tag_typedef_t _nutag_use_dialog_ref =
|
|
REFTAG_TYPEDEF(nutag_use_dialog);
|
|
tag_typedef_t _nutag_outbound = STRTAG_TYPEDEF(outbound);
|
|
tag_typedef_t _nutag_outbound_ref =
|
|
REFTAG_TYPEDEF(nutag_outbound);
|
|
tag_typedef_t _nutag_outbound_set1 = STRTAG_TYPEDEF(outbound_set1);
|
|
tag_typedef_t _nutag_outbound_set1_ref =
|
|
REFTAG_TYPEDEF(nutag_outbound_set1);
|
|
tag_typedef_t _nutag_invite_timer = UINTTAG_TYPEDEF(invite_timer);
|
|
tag_typedef_t _nutag_invite_timer_ref =
|
|
REFTAG_TYPEDEF(nutag_invite_timer);
|
|
tag_typedef_t _nutag_outbound_set2 = STRTAG_TYPEDEF(outbound_set2);
|
|
tag_typedef_t _nutag_outbound_set2_ref =
|
|
REFTAG_TYPEDEF(nutag_outbound_set2);
|
|
tag_typedef_t _nutag_session_timer = UINTTAG_TYPEDEF(session_timer);
|
|
tag_typedef_t _nutag_session_timer_ref =
|
|
REFTAG_TYPEDEF(nutag_session_timer);
|
|
tag_typedef_t _nutag_outbound_set3 = STRTAG_TYPEDEF(outbound_set3);
|
|
tag_typedef_t _nutag_outbound_set3_ref =
|
|
REFTAG_TYPEDEF(nutag_outbound_set3);
|
|
tag_typedef_t _nutag_phrase = STRTAG_TYPEDEF(phrase);
|
|
tag_typedef_t _nutag_phrase_ref =
|
|
REFTAG_TYPEDEF(nutag_phrase);
|
|
tag_typedef_t _nutag_outbound_set4 = STRTAG_TYPEDEF(outbound_set4);
|
|
tag_typedef_t _nutag_outbound_set4_ref =
|
|
REFTAG_TYPEDEF(nutag_outbound_set4);
|
|
tag_typedef_t _nutag_impu = URLTAG_TYPEDEF(impu)
|
|
tag_typedef_t _nutag_impu_ref =
|
|
REFTAG_TYPEDEF(nutag_impu);
|
|
tag_typedef_t _nutag_detect_network_updates = UINTTAG_TYPEDEF(detect_network_updates);
|
|
tag_typedef_t _nutag_detect_network_updates_ref =
|
|
REFTAG_TYPEDEF(nutag_detect_network_updates);
|
|
tag_typedef_t _nutag_offer_recv = BOOLTAG_TYPEDEF(offer_recv);
|
|
tag_typedef_t _nutag_offer_recv_ref =
|
|
REFTAG_TYPEDEF(nutag_offer_recv);
|
|
tag_typedef_t _nutag_m_username = STRTAG_TYPEDEF(m_username);
|
|
tag_typedef_t _nutag_m_username_ref =
|
|
REFTAG_TYPEDEF(nutag_m_username);
|
|
tag_typedef_t _nutag_max_subscriptions = UINTTAG_TYPEDEF(max_subscriptions);
|
|
tag_typedef_t _nutag_max_subscriptions_ref =
|
|
REFTAG_TYPEDEF(nutag_max_subscriptions);
|
|
tag_typedef_t _nutag_smime_enable = BOOLTAG_TYPEDEF(smime_enable);
|
|
tag_typedef_t _nutag_smime_enable_ref =
|
|
REFTAG_TYPEDEF(nutag_smime_enable);
|
|
tag_typedef_t _nutag_answer_recv = BOOLTAG_TYPEDEF(answer_recv);
|
|
tag_typedef_t _nutag_answer_recv_ref =
|
|
REFTAG_TYPEDEF(nutag_answer_recv);
|
|
tag_typedef_t _nutag_shutdown_events = BOOLTAG_TYPEDEF(shutdown_events);
|
|
tag_typedef_t _nutag_shutdown_events_ref =
|
|
REFTAG_TYPEDEF(nutag_shutdown_events);
|
|
tag_typedef_t _nutag_session_refresher = INTTAG_TYPEDEF(session_refresher);
|
|
tag_typedef_t _nutag_session_refresher_ref =
|
|
REFTAG_TYPEDEF(nutag_session_refresher);
|
|
tag_typedef_t _nutag_user_agent = STRTAG_TYPEDEF(user_agent);
|
|
tag_typedef_t _nutag_user_agent_ref =
|
|
REFTAG_TYPEDEF(nutag_user_agent);
|
|
tag_typedef_t _nutag_soa_name = STRTAG_TYPEDEF(soa_name);
|
|
tag_typedef_t _nutag_soa_name_ref =
|
|
REFTAG_TYPEDEF(nutag_soa_name);
|
|
tag_typedef_t _nutag_update_refresh = BOOLTAG_TYPEDEF(update_refresh);
|
|
tag_typedef_t _nutag_update_refresh_ref =
|
|
REFTAG_TYPEDEF(nutag_update_refresh);
|
|
tag_typedef_t _nutag_dialog = UINTTAG_TYPEDEF(dialog);
|
|
tag_typedef_t _nutag_dialog_ref =
|
|
REFTAG_TYPEDEF(nutag_dialog);
|
|
tag_typedef_t _nutag_substate = INTTAG_TYPEDEF(substate);
|
|
tag_typedef_t _nutag_substate_ref =
|
|
REFTAG_TYPEDEF(nutag_substate);
|
|
tag_typedef_t _nutag_m_display = STRTAG_TYPEDEF(m_display);
|
|
tag_typedef_t _nutag_m_display_ref =
|
|
REFTAG_TYPEDEF(nutag_m_display);
|
|
tag_typedef_t _nutag_address = STRTAG_TYPEDEF(address);
|
|
tag_typedef_t _nutag_address_ref =
|
|
REFTAG_TYPEDEF(nutag_address);
|
|
tag_typedef_t _nutag_refer_with_id = BOOLTAG_TYPEDEF(refer_with_id);
|
|
tag_typedef_t _nutag_refer_with_id_ref =
|
|
REFTAG_TYPEDEF(nutag_refer_with_id);
|
|
tag_typedef_t _nutag_include_extra_sdp = BOOLTAG_TYPEDEF(include_extra_sdp);
|
|
tag_typedef_t _nutag_include_extra_sdp_ref =
|
|
REFTAG_TYPEDEF(nutag_include_extra_sdp);
|
|
tag_typedef_t _nutag_media_features = BOOLTAG_TYPEDEF(media_features);
|
|
tag_typedef_t _nutag_media_features_ref =
|
|
REFTAG_TYPEDEF(nutag_media_features);
|
|
tag_typedef_t _nutag_certificate_phrase = STRTAG_TYPEDEF(certificate_phrase);
|
|
tag_typedef_t _nutag_certificate_phrase_ref =
|
|
REFTAG_TYPEDEF(nutag_certificate_phrase);
|
|
tag_typedef_t _nutag_m_features = STRTAG_TYPEDEF(m_features);
|
|
tag_typedef_t _nutag_m_features_ref =
|
|
REFTAG_TYPEDEF(nutag_m_features);
|
|
tag_typedef_t _nutag_refer_event = SIPHDRTAG_NAMED_TYPEDEF(refer_event, event);
|
|
tag_typedef_t _nutag_refer_event_ref =
|
|
REFTAG_TYPEDEF(nutag_refer_event);
|
|
tag_typedef_t _nutag_refer_expires = UINTTAG_TYPEDEF(refer_expires);
|
|
tag_typedef_t _nutag_refer_expires_ref =
|
|
REFTAG_TYPEDEF(nutag_refer_expires);
|
|
tag_typedef_t _nutag_autoanswer = BOOLTAG_TYPEDEF(autoAnswer);
|
|
tag_typedef_t _nutag_autoanswer_ref =
|
|
REFTAG_TYPEDEF(nutag_autoanswer);
|
|
tag_typedef_t _nutag_enablemessage = BOOLTAG_TYPEDEF(enableMessage);
|
|
tag_typedef_t _nutag_enablemessage_ref =
|
|
REFTAG_TYPEDEF(nutag_enablemessage);
|
|
tag_typedef_t _nutag_realm = STRTAG_TYPEDEF(realm)
|
|
tag_typedef_t _nutag_realm_ref =
|
|
REFTAG_TYPEDEF(nutag_realm);
|
|
tag_typedef_t _nutag_registrar = URLTAG_TYPEDEF(registrar);
|
|
tag_typedef_t _nutag_registrar_ref =
|
|
REFTAG_TYPEDEF(nutag_registrar);
|
|
tag_typedef_t _nutag_m_params = STRTAG_TYPEDEF(m_params);
|
|
tag_typedef_t _nutag_m_params_ref =
|
|
REFTAG_TYPEDEF(nutag_m_params);
|
|
tag_typedef_t _nutag_status = INTTAG_TYPEDEF(status);
|
|
tag_typedef_t _nutag_status_ref =
|
|
REFTAG_TYPEDEF(nutag_status);
|
|
tag_typedef_t _nutag_refer_pause = BOOLTAG_TYPEDEF(refer_pause);
|
|
tag_typedef_t _nutag_refer_pause_ref =
|
|
REFTAG_TYPEDEF(nutag_refer_pause);
|
|
tag_typedef_t _nutag_appl_method = STRTAG_TYPEDEF(appl_method);
|
|
tag_typedef_t _nutag_appl_method_ref =
|
|
REFTAG_TYPEDEF(nutag_appl_method);
|
|
tag_typedef_t _nutag_allow = STRTAG_TYPEDEF(allow);
|
|
tag_typedef_t _nutag_allow_ref =
|
|
REFTAG_TYPEDEF(nutag_allow);
|
|
tag_typedef_t _nutag_handle = PTRTAG_TYPEDEF(handle);
|
|
tag_typedef_t _nutag_handle_ref =
|
|
REFTAG_TYPEDEF(nutag_handle);
|
|
tag_typedef_t _nutag_newsub = BOOLTAG_TYPEDEF(newsub);
|
|
tag_typedef_t _nutag_newsub_ref =
|
|
REFTAG_TYPEDEF(nutag_newsub);
|
|
tag_typedef_t _nutag_callee_caps = BOOLTAG_TYPEDEF(callee_caps);
|
|
tag_typedef_t _nutag_callee_caps_ref =
|
|
REFTAG_TYPEDEF(nutag_callee_caps);
|
|
tag_typedef_t _nutag_hold = BOOLTAG_TYPEDEF(hold);
|
|
tag_typedef_t _nutag_hold_ref =
|
|
REFTAG_TYPEDEF(nutag_hold);
|
|
tag_typedef_t _nutag_smime_key_encryption =
|
|
tag_typedef_t _nutag_smime_key_encryption_ref =
|
|
REFTAG_TYPEDEF(nutag_smime_key_encryption);
|
|
tag_typedef_t _nutag_auth_cache = INTTAG_TYPEDEF(auth_cache);
|
|
tag_typedef_t _nutag_auth_cache_ref =
|
|
REFTAG_TYPEDEF(nutag_auth_cache);
|
|
tag_typedef_t _nutag_any = NSTAG_TYPEDEF(*);
|
|
tag_typedef_t _nutag_any_ref =
|
|
REFTAG_TYPEDEF(nutag_any);
|
|
tag_typedef_t _nutag_with = PTRTAG_TYPEDEF(with);
|
|
tag_typedef_t _nutag_with_ref =
|
|
REFTAG_TYPEDEF(nutag_with);
|
|
tag_typedef_t _nutag_supported = STRTAG_TYPEDEF(supported);
|
|
tag_typedef_t _nutag_supported_ref =
|
|
REFTAG_TYPEDEF(nutag_supported);
|
|
tag_typedef_t _nutag_method = STRTAG_TYPEDEF(method);
|
|
tag_typedef_t _nutag_method_ref =
|
|
REFTAG_TYPEDEF(nutag_method);
|
|
tag_typedef_t _nutag_smime_protection_mode =
|
|
tag_typedef_t _nutag_smime_protection_mode_ref =
|
|
REFTAG_TYPEDEF(nutag_smime_protection_mode);
|
|
tag_typedef_t _nutag_early_answer = BOOLTAG_TYPEDEF(early_answer);
|
|
tag_typedef_t _nutag_early_answer_ref =
|
|
REFTAG_TYPEDEF(nutag_early_answer);
|
|
tag_typedef_t _nutag_event = INTTAG_TYPEDEF(event);
|
|
tag_typedef_t _nutag_event_ref =
|
|
REFTAG_TYPEDEF(nutag_event);
|
|
tag_typedef_t _nutag_media_enable = BOOLTAG_TYPEDEF(media_enable);
|
|
tag_typedef_t _nutag_media_enable_ref =
|
|
REFTAG_TYPEDEF(nutag_media_enable);
|
|
tag_typedef_t _nutag_instance = STRTAG_TYPEDEF(instance);
|
|
tag_typedef_t _nutag_instance_ref =
|
|
REFTAG_TYPEDEF(nutag_instance);
|
|
tag_typedef_t _nutag_callstate = INTTAG_TYPEDEF(callstate);
|
|
tag_typedef_t _nutag_callstate_ref =
|
|
REFTAG_TYPEDEF(nutag_callstate);
|
|
tag_typedef_t _nutag_autoack = BOOLTAG_TYPEDEF(autoACK);
|
|
tag_typedef_t _nutag_autoack_ref =
|
|
REFTAG_TYPEDEF(nutag_autoack);
|
|
tag_typedef_t _nutag_offer_sent = BOOLTAG_TYPEDEF(offer_sent);
|
|
tag_typedef_t _nutag_offer_sent_ref =
|
|
REFTAG_TYPEDEF(nutag_offer_sent);
|
|
tag_typedef_t _nutag_refresh_without_sdp = BOOLTAG_TYPEDEF(refresh_without_sdp);
|
|
tag_typedef_t _nutag_refresh_without_sdp_ref =
|
|
REFTAG_TYPEDEF(nutag_refresh_without_sdp);
|
|
tag_typedef_t _nutag_sub_expires = UINTTAG_TYPEDEF(substate);
|
|
tag_typedef_t _nutag_sub_expires_ref =
|
|
REFTAG_TYPEDEF(nutag_sub_expires);
|
|
tag_typedef_t _nutag_autoalert = BOOLTAG_TYPEDEF(autoAlert);
|
|
tag_typedef_t _nutag_autoalert_ref =
|
|
REFTAG_TYPEDEF(nutag_autoalert);
|
|
|
|
*(struct tag_type_s *)nutag_retry_count = *_nutag_retry_count;
|
|
*(struct tag_type_s *)nutag_retry_count_ref = *_nutag_retry_count_ref;
|
|
*(struct tag_type_s *)nutag_uicc = *_nutag_uicc;
|
|
*(struct tag_type_s *)nutag_uicc_ref = *_nutag_uicc_ref;
|
|
*(struct tag_type_s *)nutag_smime_opt = *_nutag_smime_opt;
|
|
*(struct tag_type_s *)nutag_smime_opt_ref = *_nutag_smime_opt_ref;
|
|
*(struct tag_type_s *)nutag_sips_url = *_nutag_sips_url;
|
|
*(struct tag_type_s *)nutag_sips_url_ref = *_nutag_sips_url_ref;
|
|
*(struct tag_type_s *)nutag_soa_session = *_nutag_soa_session;
|
|
*(struct tag_type_s *)nutag_soa_session_ref = *_nutag_soa_session_ref;
|
|
*(struct tag_type_s *)nutag_keepalive_stream = *_nutag_keepalive_stream;
|
|
*(struct tag_type_s *)nutag_keepalive_stream_ref = *_nutag_keepalive_stream_ref;
|
|
*(struct tag_type_s *)nutag_enablemessenger = *_nutag_enablemessenger;
|
|
*(struct tag_type_s *)nutag_enablemessenger_ref = *_nutag_enablemessenger_ref;
|
|
*(struct tag_type_s *)nutag_path_enable = *_nutag_path_enable;
|
|
*(struct tag_type_s *)nutag_path_enable_ref = *_nutag_path_enable_ref;
|
|
*(struct tag_type_s *)nutag_early_ims = *_nutag_early_ims;
|
|
*(struct tag_type_s *)nutag_early_ims_ref = *_nutag_early_ims_ref;
|
|
*(struct tag_type_s *)nutag_initial_route_str = *_nutag_initial_route_str;
|
|
*(struct tag_type_s *)nutag_initial_route_str_ref = *_nutag_initial_route_str_ref;
|
|
*(struct tag_type_s *)nutag_certificate_dir = *_nutag_certificate_dir;
|
|
*(struct tag_type_s *)nutag_certificate_dir_ref = *_nutag_certificate_dir_ref;
|
|
*(struct tag_type_s *)nutag_authtime = *_nutag_authtime;
|
|
*(struct tag_type_s *)nutag_authtime_ref = *_nutag_authtime_ref;
|
|
*(struct tag_type_s *)nutag_smime_signature = *_nutag_smime_signature;
|
|
*(struct tag_type_s *)nutag_smime_signature_ref = *_nutag_smime_signature_ref;
|
|
*(struct tag_type_s *)nutag_enableinvite = *_nutag_enableinvite;
|
|
*(struct tag_type_s *)nutag_enableinvite_ref = *_nutag_enableinvite_ref;
|
|
*(struct tag_type_s *)nutag_answer_sent = *_nutag_answer_sent;
|
|
*(struct tag_type_s *)nutag_answer_sent_ref = *_nutag_answer_sent_ref;
|
|
*(struct tag_type_s *)nutag_smime_message_encryption = *_nutag_smime_message_encryption;
|
|
*(struct tag_type_s *)nutag_smime_message_encryption_ref = *_nutag_smime_message_encryption_ref;
|
|
*(struct tag_type_s *)nutag_keepalive = *_nutag_keepalive;
|
|
*(struct tag_type_s *)nutag_keepalive_ref = *_nutag_keepalive_ref;
|
|
*(struct tag_type_s *)nutag_auth = *_nutag_auth;
|
|
*(struct tag_type_s *)nutag_auth_ref = *_nutag_auth_ref;
|
|
*(struct tag_type_s *)nutag_min_se = *_nutag_min_se;
|
|
*(struct tag_type_s *)nutag_min_se_ref = *_nutag_min_se_ref;
|
|
*(struct tag_type_s *)nutag_url = *_nutag_url;
|
|
*(struct tag_type_s *)nutag_url_ref = *_nutag_url_ref;
|
|
*(struct tag_type_s *)nutag_identity = *_nutag_identity;
|
|
*(struct tag_type_s *)nutag_identity_ref = *_nutag_identity_ref;
|
|
*(struct tag_type_s *)nutag_notify_refer = *_nutag_notify_refer;
|
|
*(struct tag_type_s *)nutag_notify_refer_ref = *_nutag_notify_refer_ref;
|
|
*(struct tag_type_s *)nutag_initial_route = *_nutag_initial_route;
|
|
*(struct tag_type_s *)nutag_initial_route_ref = *_nutag_initial_route_ref;
|
|
*(struct tag_type_s *)nutag_early_media = *_nutag_early_media;
|
|
*(struct tag_type_s *)nutag_early_media_ref = *_nutag_early_media_ref;
|
|
*(struct tag_type_s *)nutag_impi = *_nutag_impi;
|
|
*(struct tag_type_s *)nutag_impi_ref = *_nutag_impi_ref;
|
|
*(struct tag_type_s *)nutag_service_route_enable = *_nutag_service_route_enable;
|
|
*(struct tag_type_s *)nutag_service_route_enable_ref = *_nutag_service_route_enable_ref;
|
|
*(struct tag_type_s *)nutag_allow_events = *_nutag_allow_events;
|
|
*(struct tag_type_s *)nutag_allow_events_ref = *_nutag_allow_events_ref;
|
|
*(struct tag_type_s *)nutag_smime_message_digest = *_nutag_smime_message_digest;
|
|
*(struct tag_type_s *)nutag_smime_message_digest_ref = *_nutag_smime_message_digest_ref;
|
|
*(struct tag_type_s *)nutag_only183_100rel = *_nutag_only183_100rel;
|
|
*(struct tag_type_s *)nutag_only183_100rel_ref = *_nutag_only183_100rel_ref;
|
|
*(struct tag_type_s *)nutag_use_dialog = *_nutag_use_dialog;
|
|
*(struct tag_type_s *)nutag_use_dialog_ref = *_nutag_use_dialog_ref;
|
|
*(struct tag_type_s *)nutag_outbound = *_nutag_outbound;
|
|
*(struct tag_type_s *)nutag_outbound_ref = *_nutag_outbound_ref;
|
|
*(struct tag_type_s *)nutag_outbound_set1 = *_nutag_outbound_set1;
|
|
*(struct tag_type_s *)nutag_outbound_set1_ref = *_nutag_outbound_set1_ref;
|
|
*(struct tag_type_s *)nutag_invite_timer = *_nutag_invite_timer;
|
|
*(struct tag_type_s *)nutag_invite_timer_ref = *_nutag_invite_timer_ref;
|
|
*(struct tag_type_s *)nutag_outbound_set2 = *_nutag_outbound_set2;
|
|
*(struct tag_type_s *)nutag_outbound_set2_ref = *_nutag_outbound_set2_ref;
|
|
*(struct tag_type_s *)nutag_session_timer = *_nutag_session_timer;
|
|
*(struct tag_type_s *)nutag_session_timer_ref = *_nutag_session_timer_ref;
|
|
*(struct tag_type_s *)nutag_outbound_set3 = *_nutag_outbound_set3;
|
|
*(struct tag_type_s *)nutag_outbound_set3_ref = *_nutag_outbound_set3_ref;
|
|
*(struct tag_type_s *)nutag_phrase = *_nutag_phrase;
|
|
*(struct tag_type_s *)nutag_phrase_ref = *_nutag_phrase_ref;
|
|
*(struct tag_type_s *)nutag_outbound_set4 = *_nutag_outbound_set4;
|
|
*(struct tag_type_s *)nutag_outbound_set4_ref = *_nutag_outbound_set4_ref;
|
|
*(struct tag_type_s *)nutag_impu = *_nutag_impu;
|
|
*(struct tag_type_s *)nutag_impu_ref = *_nutag_impu_ref;
|
|
*(struct tag_type_s *)nutag_detect_network_updates = *_nutag_detect_network_updates;
|
|
*(struct tag_type_s *)nutag_detect_network_updates_ref = *_nutag_detect_network_updates_ref;
|
|
*(struct tag_type_s *)nutag_offer_recv = *_nutag_offer_recv;
|
|
*(struct tag_type_s *)nutag_offer_recv_ref = *_nutag_offer_recv_ref;
|
|
*(struct tag_type_s *)nutag_m_username = *_nutag_m_username;
|
|
*(struct tag_type_s *)nutag_m_username_ref = *_nutag_m_username_ref;
|
|
*(struct tag_type_s *)nutag_max_subscriptions = *_nutag_max_subscriptions;
|
|
*(struct tag_type_s *)nutag_max_subscriptions_ref = *_nutag_max_subscriptions_ref;
|
|
*(struct tag_type_s *)nutag_smime_enable = *_nutag_smime_enable;
|
|
*(struct tag_type_s *)nutag_smime_enable_ref = *_nutag_smime_enable_ref;
|
|
*(struct tag_type_s *)nutag_answer_recv = *_nutag_answer_recv;
|
|
*(struct tag_type_s *)nutag_answer_recv_ref = *_nutag_answer_recv_ref;
|
|
*(struct tag_type_s *)nutag_shutdown_events = *_nutag_shutdown_events;
|
|
*(struct tag_type_s *)nutag_shutdown_events_ref = *_nutag_shutdown_events_ref;
|
|
*(struct tag_type_s *)nutag_session_refresher = *_nutag_session_refresher;
|
|
*(struct tag_type_s *)nutag_session_refresher_ref = *_nutag_session_refresher_ref;
|
|
*(struct tag_type_s *)nutag_user_agent = *_nutag_user_agent;
|
|
*(struct tag_type_s *)nutag_user_agent_ref = *_nutag_user_agent_ref;
|
|
*(struct tag_type_s *)nutag_soa_name = *_nutag_soa_name;
|
|
*(struct tag_type_s *)nutag_soa_name_ref = *_nutag_soa_name_ref;
|
|
*(struct tag_type_s *)nutag_update_refresh = *_nutag_update_refresh;
|
|
*(struct tag_type_s *)nutag_update_refresh_ref = *_nutag_update_refresh_ref;
|
|
*(struct tag_type_s *)nutag_dialog = *_nutag_dialog;
|
|
*(struct tag_type_s *)nutag_dialog_ref = *_nutag_dialog_ref;
|
|
*(struct tag_type_s *)nutag_substate = *_nutag_substate;
|
|
*(struct tag_type_s *)nutag_substate_ref = *_nutag_substate_ref;
|
|
*(struct tag_type_s *)nutag_m_display = *_nutag_m_display;
|
|
*(struct tag_type_s *)nutag_m_display_ref = *_nutag_m_display_ref;
|
|
*(struct tag_type_s *)nutag_address = *_nutag_address;
|
|
*(struct tag_type_s *)nutag_address_ref = *_nutag_address_ref;
|
|
*(struct tag_type_s *)nutag_refer_with_id = *_nutag_refer_with_id;
|
|
*(struct tag_type_s *)nutag_refer_with_id_ref = *_nutag_refer_with_id_ref;
|
|
*(struct tag_type_s *)nutag_include_extra_sdp = *_nutag_include_extra_sdp;
|
|
*(struct tag_type_s *)nutag_include_extra_sdp_ref = *_nutag_include_extra_sdp_ref;
|
|
*(struct tag_type_s *)nutag_media_features = *_nutag_media_features;
|
|
*(struct tag_type_s *)nutag_media_features_ref = *_nutag_media_features_ref;
|
|
*(struct tag_type_s *)nutag_certificate_phrase = *_nutag_certificate_phrase;
|
|
*(struct tag_type_s *)nutag_certificate_phrase_ref = *_nutag_certificate_phrase_ref;
|
|
*(struct tag_type_s *)nutag_m_features = *_nutag_m_features;
|
|
*(struct tag_type_s *)nutag_m_features_ref = *_nutag_m_features_ref;
|
|
*(struct tag_type_s *)nutag_refer_event = *_nutag_refer_event;
|
|
*(struct tag_type_s *)nutag_refer_event_ref = *_nutag_refer_event_ref;
|
|
*(struct tag_type_s *)nutag_refer_expires = *_nutag_refer_expires;
|
|
*(struct tag_type_s *)nutag_refer_expires_ref = *_nutag_refer_expires_ref;
|
|
*(struct tag_type_s *)nutag_autoanswer = *_nutag_autoanswer;
|
|
*(struct tag_type_s *)nutag_autoanswer_ref = *_nutag_autoanswer_ref;
|
|
*(struct tag_type_s *)nutag_enablemessage = *_nutag_enablemessage;
|
|
*(struct tag_type_s *)nutag_enablemessage_ref = *_nutag_enablemessage_ref;
|
|
*(struct tag_type_s *)nutag_realm = *_nutag_realm;
|
|
*(struct tag_type_s *)nutag_realm_ref = *_nutag_realm_ref;
|
|
*(struct tag_type_s *)nutag_registrar = *_nutag_registrar;
|
|
*(struct tag_type_s *)nutag_registrar_ref = *_nutag_registrar_ref;
|
|
*(struct tag_type_s *)nutag_m_params = *_nutag_m_params;
|
|
*(struct tag_type_s *)nutag_m_params_ref = *_nutag_m_params_ref;
|
|
*(struct tag_type_s *)nutag_status = *_nutag_status;
|
|
*(struct tag_type_s *)nutag_status_ref = *_nutag_status_ref;
|
|
*(struct tag_type_s *)nutag_refer_pause = *_nutag_refer_pause;
|
|
*(struct tag_type_s *)nutag_refer_pause_ref = *_nutag_refer_pause_ref;
|
|
*(struct tag_type_s *)nutag_appl_method = *_nutag_appl_method;
|
|
*(struct tag_type_s *)nutag_appl_method_ref = *_nutag_appl_method_ref;
|
|
*(struct tag_type_s *)nutag_allow = *_nutag_allow;
|
|
*(struct tag_type_s *)nutag_allow_ref = *_nutag_allow_ref;
|
|
*(struct tag_type_s *)nutag_handle = *_nutag_handle;
|
|
*(struct tag_type_s *)nutag_handle_ref = *_nutag_handle_ref;
|
|
*(struct tag_type_s *)nutag_newsub = *_nutag_newsub;
|
|
*(struct tag_type_s *)nutag_newsub_ref = *_nutag_newsub_ref;
|
|
*(struct tag_type_s *)nutag_callee_caps = *_nutag_callee_caps;
|
|
*(struct tag_type_s *)nutag_callee_caps_ref = *_nutag_callee_caps_ref;
|
|
*(struct tag_type_s *)nutag_hold = *_nutag_hold;
|
|
*(struct tag_type_s *)nutag_hold_ref = *_nutag_hold_ref;
|
|
*(struct tag_type_s *)nutag_smime_key_encryption = *_nutag_smime_key_encryption;
|
|
*(struct tag_type_s *)nutag_smime_key_encryption_ref = *_nutag_smime_key_encryption_ref;
|
|
*(struct tag_type_s *)nutag_auth_cache = *_nutag_auth_cache;
|
|
*(struct tag_type_s *)nutag_auth_cache_ref = *_nutag_auth_cache_ref;
|
|
*(struct tag_type_s *)nutag_any = *_nutag_any;
|
|
*(struct tag_type_s *)nutag_any_ref = *_nutag_any_ref;
|
|
*(struct tag_type_s *)nutag_with = *_nutag_with;
|
|
*(struct tag_type_s *)nutag_with_ref = *_nutag_with_ref;
|
|
*(struct tag_type_s *)nutag_supported = *_nutag_supported;
|
|
*(struct tag_type_s *)nutag_supported_ref = *_nutag_supported_ref;
|
|
*(struct tag_type_s *)nutag_method = *_nutag_method;
|
|
*(struct tag_type_s *)nutag_method_ref = *_nutag_method_ref;
|
|
*(struct tag_type_s *)nutag_smime_protection_mode = *_nutag_smime_protection_mode;
|
|
*(struct tag_type_s *)nutag_smime_protection_mode_ref = *_nutag_smime_protection_mode_ref;
|
|
*(struct tag_type_s *)nutag_early_answer = *_nutag_early_answer;
|
|
*(struct tag_type_s *)nutag_early_answer_ref = *_nutag_early_answer_ref;
|
|
*(struct tag_type_s *)nutag_event = *_nutag_event;
|
|
*(struct tag_type_s *)nutag_event_ref = *_nutag_event_ref;
|
|
*(struct tag_type_s *)nutag_media_enable = *_nutag_media_enable;
|
|
*(struct tag_type_s *)nutag_media_enable_ref = *_nutag_media_enable_ref;
|
|
*(struct tag_type_s *)nutag_instance = *_nutag_instance;
|
|
*(struct tag_type_s *)nutag_instance_ref = *_nutag_instance_ref;
|
|
*(struct tag_type_s *)nutag_callstate = *_nutag_callstate;
|
|
*(struct tag_type_s *)nutag_callstate_ref = *_nutag_callstate_ref;
|
|
*(struct tag_type_s *)nutag_autoack = *_nutag_autoack;
|
|
*(struct tag_type_s *)nutag_autoack_ref = *_nutag_autoack_ref;
|
|
*(struct tag_type_s *)nutag_offer_sent = *_nutag_offer_sent;
|
|
*(struct tag_type_s *)nutag_offer_sent_ref = *_nutag_offer_sent_ref;
|
|
*(struct tag_type_s *)nutag_refresh_without_sdp = *_nutag_refresh_without_sdp;
|
|
*(struct tag_type_s *)nutag_refresh_without_sdp_ref = *_nutag_refresh_without_sdp_ref;
|
|
*(struct tag_type_s *)nutag_sub_expires = *_nutag_sub_expires;
|
|
*(struct tag_type_s *)nutag_sub_expires_ref = *_nutag_sub_expires_ref;
|
|
*(struct tag_type_s *)nutag_autoalert = *_nutag_autoalert;
|
|
*(struct tag_type_s *)nutag_autoalert_ref = *_nutag_autoalert_ref;
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
#endif
|