Defines | Typedefs | Enumerations | Functions | Variables

sofia-sip/nua_tag.h File Reference

Tags for Sofia-SIP User Agent Library. More...

#include <sofia-sip/su_tag.h>
#include <sofia-sip/sdp_tag.h>
#include <sofia-sip/url_tag.h>
#include <sofia-sip/sip_tag.h>
#include <sofia-sip/nta_tag.h>
#include <sofia-sip/nea_tag.h>
#include <sofia-sip/soa_tag.h>
Include dependency graph for nua_tag.h:

Defines

#define NUA_TAG_H
 Defined when <sofia-sip/nua_tag.h> has been included.
#define NUTAG_ANY()
 Filter tag matching any nua tag.
#define NUTAG_URL(x)
 URL address from application to NUA.
#define NUTAG_WITH(x)
 Specify request to respond to.
#define NUTAG_WITH_THIS(nua)
 Specify request to respond to.
#define NUTAG_WITH_SAVED(e)
 Specify request to respond to.
#define NUTAG_DIALOG(b)
 An (extension) method is used to create dialog or refresh target.
#define NUTAG_METHOD(x)
 Extension method name.
#define NUTAG_METHOD_REF(x)
 Reference tag for NUTAG_METHOD().
#define NUTAG_MAX_SUBSCRIPTIONS(x)
 Set maximum number of simultaneous subscribers per single event server.
#define NUTAG_MAX_SUBSCRIPTIONS_REF(x)
 Reference tag for NUTAG_MAX_SUBSCRIPTIONS().
#define NUTAG_USE_DIALOG(x)
 Ask NUA to create dialog for this handle.
#define NUTAG_USE_DIALOG_REF(x)
 Reference tag for NUTAG_USE_DIALOG().
#define NUTAG_RETRY_COUNT(x)
 Set request retry count.
#define NUTAG_RETRY_COUNT_REF(x)
 Reference tag for NUTAG_RETRY_COUNT().
#define NUTAG_SOA_NAME(x)
 Name for SDP Offer-Answer session object.
#define NUTAG_SOA_NAME_REF(x)
 Reference tag for NUTAG_SOA_NAME().
#define NUTAG_EARLY_MEDIA(x)
 Establish early media session using 100rel, 183 responses and PRACK.
#define NUTAG_EARLY_MEDIA_REF(x)
 Reference tag for NUTAG_EARLY_MEDIA().
#define NUTAG_ONLY183_100REL(x)
 Require 100rel extension and PRACK only with 183 response.
#define NUTAG_ONLY183_100REL_REF(x)
 Reference tag for NUTAG_ONLY183_100REL().
#define NUTAG_EARLY_ANSWER(x)
 Establish early media session by including SDP answer in 1XX response.
#define NUTAG_EARLY_ANSWER_REF(x)
 Reference tag for NUTAG_EARLY_ANSWER().
#define NUTAG_INCLUDE_EXTRA_SDP(x)
 Include an extra copy of SDP answer in the response.
#define NUTAG_INCLUDE_EXTRA_SDP_REF(x)
 Reference tag for NUTAG_INCLUDE_EXTRA_SDP().
#define NUTAG_INVITE_TIMER(x)
 Timer for outstanding INVITE in seconds.
#define NUTAG_INVITE_TIMER_REF(x)
 Reference tag for NUTAG_INVITE_TIMER().
#define NUTAG_SESSION_TIMER(x)
 Default session timer in seconds.
#define NUTAG_SESSION_TIMER_REF(x)
 Reference tag for NUTAG_SESSION_TIMER().
#define NUTAG_MIN_SE(x)
 Minimum acceptable refresh interval for session.
#define NUTAG_MIN_SE_REF(x)
 Reference tag for NUTAG_MIN_SE().
#define NUTAG_SESSION_REFRESHER(x)
 Specify the preferred refresher.
#define NUTAG_SESSION_REFRESHER_REF(x)
 Reference tag for NUTAG_SESSION_REFRESHER().
#define NUTAG_UPDATE_REFRESH(x)
 Use UPDATE as refresh method.
#define NUTAG_UPDATE_REFRESH_REF(x)
 Reference tag for NUTAG_UPDATE_REFRESH().
#define NUTAG_REFRESH_WITHOUT_SDP(x)
 Do not send offer in response if re-INVITE was received without SDP.
#define NUTAG_REFRESH_WITHOUT_SDP_REF(x)
 Reference tag for NUTAG_REFRESH_WITHOUT_SDP_REF().
#define NUTAG_AUTOALERT(x)
 Send alerting (180 Ringing) automatically (instead of 100 Trying).
#define NUTAG_AUTOALERT_REF(x)
 Reference tag for NUTAG_AUTOALERT().
#define NUTAG_AUTOACK(x)
 ACK automatically.
#define NUTAG_AUTOACK_REF(x)
 Reference tag for NUTAG_AUTOACK().
#define NUTAG_AUTOANSWER(x)
 Answer (with 200 Ok) automatically to incoming call.
#define NUTAG_AUTOANSWER_REF(x)
 Reference tag for NUTAG_AUTOANSWER().
#define NUTAG_ENABLEINVITE(x)
 Enable incoming INVITE.
#define NUTAG_ENABLEINVITE_REF(x)
 Reference tag for NUTAG_ENABLEINVITE().
#define NUTAG_ENABLEMESSAGE(x)
 Enable incoming MESSAGE.
#define NUTAG_ENABLEMESSAGE_REF(x)
 Reference tag for NUTAG_ENABLEMESSAGE().
#define NUTAG_ENABLEMESSENGER(x)
 Enable incoming MESSAGE with To tag.
#define NUTAG_ENABLEMESSENGER_REF(x)
 Reference tag for NUTAG_ENABLEMESSENGER().
#define NUTAG_AUTO302(x)
 Recurse automatically on 302 response.
#define NUTAG_AUTO302_REF(x)
 Reference tag for NUTAG_AUTO302().
#define NUTAG_AUTO305(x)
 Recurse automatically on 305 response.
#define NUTAG_AUTO305_REF(x)
 Reference tag for NUTAG_AUTO305().
#define NUTAG_SMIME_ENABLE(x)
 Enable S/MIME.
#define NUTAG_SMIME_ENABLE_REF(x)
 Reference tag for NUTAG_SMIME_ENABLE().
#define NUTAG_SMIME_OPT(x)
 S/MIME Options.
#define NUTAG_SMIME_OPT_REF(x)
 Reference tag for NUTAG_SMIME_OPT().
#define NUTAG_SMIME_PROTECTION_MODE(x)
 S/MIME protection mode.
#define NUTAG_SMIME_PROTECTION_MODE_REF(x)
 Reference tag for NUTAG_SMIME_PROTECTION_MODE().
#define NUTAG_SMIME_MESSAGE_DIGEST(x)
 S/MIME digest algorithm.
#define NUTAG_SMIME_MESSAGE_DIGEST_REF(x)
 Reference tag for NUTAG_SMIME_MESSAGE_DIGEST().
#define NUTAG_SMIME_SIGNATURE(x)
 S/MIME signature algorithm.
#define NUTAG_SMIME_SIGNATURE_REF(x)
 Reference tag for NUTAG_SMIME_SIGNATURE().
#define NUTAG_SMIME_KEY_ENCRYPTION(x)
 S/MIME key encryption algorithm.
#define NUTAG_SMIME_KEY_ENCRYPTION_REF(x)
 Reference tag for NUTAG_SMIME_KEY_ENCRYPTION().
#define NUTAG_SMIME_MESSAGE_ENCRYPTION(x)
 S/MIME message encryption algorithm.
#define NUTAG_SMIME_MESSAGE_ENCRYPTION_REF(x)
 Reference tag for NUTAG_SMIME_MESSAGE_ENCRYPTION().
#define NUTAG_CERTIFICATE_DIR(x)
 X.500 certificate directory.
#define NUTAG_CERTIFICATE_DIR_REF(x)
 Reference tag for NUTAG_CERTIFICATE_DIR().
#define NUTAG_CERTIFICATE_PHRASE(x)
 Certificate phrase.
#define NUTAG_CERTIFICATE_PHRASE_REF(x)
 Reference tag for NUTAG_CERTIFICATE_PHRASE().
#define NUTAG_SIPS_URL(x)
 Local SIPS url.
#define NUTAG_SIPS_URL_REF(x)
 Reference tag for NUTAG_SIPS_URL().
#define NUTAG_PROXY(x)
 Outbound proxy URL.
#define NUTAG_PROXY_REF(x)
 Reference tag for NUTAG_PROXY().
#define NUTAG_INITIAL_ROUTE(x)
 Specify initial route set.
#define NUTAG_INITIAL_ROUTE_REF(x)
 Reference tag for NUTAG_INITIAL_ROUTE().
#define NUTAG_INITIAL_ROUTE_STR(x)
 Specify initial route set.
#define NUTAG_INITIAL_ROUTE_STR_REF(x)
 Reference tag for NUTAG_INITIAL_ROUTE_STR().
#define NUTAG_REGISTRAR(x)
 Registrar URL.
#define NUTAG_REGISTRAR_REF(x)
 Reference tag for NUTAG_REGISTRAR().
#define NUTAG_OUTBOUND(x)
 Outbound option string.
#define NUTAG_OUTBOUND_REF(x)
 Reference tag for NUTAG_OUTBOUND().
#define NUTAG_SIP_PARSER(x)
 Pointer to a customized SIP parser used with NUA.
#define NUTAG_SIP_PARSER_REF(x)
 Reference tag for NUTAG_SIP_PARSER().
#define NUTAG_AUTH(x)
 Authentication data ("scheme" "realm" "user" "password").
#define NUTAG_AUTH_REF(x)
 Reference tag for NUTAG_AUTH().
#define NUTAG_AUTH_CACHE(x)
 Authentication caching policy.
#define NUTAG_AUTH_CACHE_REF(x)
 Reference tag for NUTAG_AUTH_CACHE().
#define NUTAG_KEEPALIVE(x)
 Keepalive interval in milliseconds.
#define NUTAG_KEEPALIVE_REF(x)
 Reference tag for NUTAG_KEEPALIVE().
#define NUTAG_KEEPALIVE_STREAM(x)
 Transport-level keepalive interval for streams.
#define NUTAG_KEEPALIVE_STREAM_REF(x)
 Reference tag for NUTAG_KEEPALIVE_STREAM().
#define NUTAG_AUTHTIME(x)
 Lifetime of authentication data in seconds.
#define NUTAG_AUTHTIME_REF(x)
 Reference tag for NUTAG_AUTHTIME().
#define NUTAG_M_DISPLAY(x)
 Display name for Contact.
#define NUTAG_M_DISPLAY_REF(x)
 Reference tag for NUTAG_M_DISPLAY().
#define NUTAG_M_USERNAME(x)
 Username prefix for Contact.
#define NUTAG_M_USERNAME_REF(x)
 Reference tag for NUTAG_M_USERNAME().
#define NUTAG_M_PARAMS(x)
 URL parameters for Contact.
#define NUTAG_M_PARAMS_REF(x)
 Reference tag for NUTAG_M_PARAMS().
#define NUTAG_M_FEATURES(x)
 Header parameters for Contact used in registration.
#define NUTAG_M_FEATURES_REF(x)
 Reference tag for NUTAG_M_FEATURES().
#define NUTAG_EVENT(x)
 NUA event.
#define NUTAG_EVENT_REF(x)
 Reference tag for NUTAG_EVENT().
#define NUTAG_STATUS(x)
 Response status code.
#define NUTAG_STATUS_REF(x)
 Reference tag for NUTAG_STATUS().
#define NUTAG_PHRASE(x)
 Response phrase.
#define NUTAG_PHRASE_REF(x)
 Reference tag for NUTAG_PHRASE().
#define NUTAG_HANDLE(x)
 NUA Handle.
#define NUTAG_HANDLE_REF(x)
 Reference tag for NUTAG_HANDLE().
#define NUTAG_IDENTITY(x)
 Registration handle (used with requests and nua_respond()) (NOT YET IMPLEMENTED).
#define NUTAG_IDENTITY_REF(x)
 Reference tag for NUTAG_IDENTITY().
#define NUTAG_INSTANCE(x)
 Intance identifier.
#define NUTAG_INSTANCE_REF(x)
 Reference tag for NUTAG_INSTANCE().
#define NUTAG_NOTIFY_REFER(x)
 Refer reply handle (used with refer).
#define NUTAG_NOTIFY_REFER_REF(x)
 Reference tag for NUTAG_NOTIFY_REFER().
#define NUTAG_REFER_EVENT(x)
 Event used with automatic refer notifications.
#define NUTAG_REFER_EVENT_REF(x)
 Reference tag for NUTAG_REFER_EVENT().
#define NUTAG_REFER_PAUSE(x)
 Invite pauses referrer's handle.
#define NUTAG_REFER_PAUSE_REF(x)
 Reference tag for NUTAG_REFER_PAUSE().
#define NUTAG_USER_AGENT(x)
 User-Agent string.
#define NUTAG_USER_AGENT_REF(x)
 Reference tag for NUTAG_USER_AGENT().
#define NUTAG_ALLOW(x)
 Allow a method (or methods).
#define NUTAG_ALLOW_REF(x)
 Reference tag for NUTAG_ALLOW().
#define NUTAG_APPL_METHOD(x)
 Indicate that a method (or methods) are handled by application.
#define NUTAG_APPL_METHOD_REF(x)
 Reference tag for NUTAG_APPL_METHOD().
#define NUTAG_SUPPORTED(x)
 Support a feature.
#define NUTAG_SUPPORTED_REF(x)
 Reference tag for NUTAG_SUPPORTED().
#define NUTAG_ALLOW_EVENTS(x)
 Allow an event or events.
#define NUTAG_ALLOW_EVENTS_REF(x)
 Reference tag for NUTAG_ALLOW_EVENTS().
#define NUTAG_CALLSTATE(x)
 Call state.
#define NUTAG_CALLSTATE_REF(x)
 Reference tag for NUTAG_CALLSTATE().
#define NUTAG_SUBSTATE(x)
 Subscription state.
#define NUTAG_SUBSTATE_REF(x)
 Reference tag for NUTAG_SUBSTATE().
#define NUTAG_SUB_EXPIRES(x)
 Default expiration time of subscriptions.
#define NUTAG_SUB_EXPIRES_REF(x)
 Reference tag for NUTAG_SUB_EXPIRES().
#define NUTAG_NEWSUB(x)
 Send unsolicited NOTIFY request.
#define NUTAG_NEWSUB_REF(x)
 Reference tag for NUTAG_NEWSUB().
#define NUTAG_REFER_EXPIRES(x)
 Default lifetime for implicit subscriptions created by REFER.
#define NUTAG_REFER_EXPIRES_REF(x)
 Reference tag for NUTAG_REFER_EXPIRES().
#define NUTAG_REFER_WITH_ID(x)
 Always use id parameter with refer event.
#define NUTAG_REFER_WITH_ID_REF(x)
 Reference tag for NUTAG_REFER_WITH_ID().
#define NUTAG_MEDIA_FEATURES(x)
 Add media tags from our offer to Accept-Contact headers.
#define NUTAG_MEDIA_FEATURES_REF(x)
 Reference tag for NUTAG_MEDIA_FEATURES().
#define NUTAG_CALLEE_CAPS(x)
 Add methods parameter and media feature parameter to the Contact headers generated for REGISTER request.
#define NUTAG_CALLEE_CAPS_REF(x)
 Reference tag for NUTAG_CALLEE_CAPS().
#define NUTAG_PATH_ENABLE(x)
 If true, add "path" to Supported in REGISTER.
#define NUTAG_PATH_ENABLE_REF(x)
 Reference tag for NUTAG_PATH_ENABLE().
#define NUTAG_SERVICE_ROUTE_ENABLE(x)
 Use route taken from the Service-Route header in the 200 class response to REGISTER.
#define NUTAG_SERVICE_ROUTE_ENABLE_REF(x)
 Reference tag for NUTAG_SERVICE_ROUTE_ENABLE().
#define NUTAG_MEDIA_ENABLE(x)
 Enable built-in media session handling.
#define NUTAG_MEDIA_ENABLE_REF(x)
 Reference tag for NUTAG_MEDIA_ENABLE().
#define NUTAG_OFFER_RECV(x)
 Indicate that SDP offer has been received.
#define NUTAG_OFFER_RECV_REF(x)
 Reference tag for NUTAG_OFFER_RECV().
#define NUTAG_ANSWER_RECV(x)
 Indicate that SDP answer has been received.
#define NUTAG_ANSWER_RECV_REF(x)
 Reference tag for NUTAG_ANSWER_RECV().
#define NUTAG_OFFER_SENT(x)
 Indicate that SDP offer has been sent.
#define NUTAG_OFFER_SENT_REF(x)
 Reference tag for NUTAG_OFFER_SENT().
#define NUTAG_ANSWER_SENT(x)
 Indicate that SDP answer has been sent.
#define NUTAG_ANSWER_SENT_REF(x)
 Reference tag for NUTAG_ANSWER_SENT().
#define NUTAG_DETECT_NETWORK_UPDATES(x)
 Enable detection of local IP address updates.
#define NUTAG_DETECT_NETWORK_UPDATES_REF(x)
 Reference tag for NUTAG_DETECT_NETWORK_UPDATES().
#define NUTAG_SHUTDOWN_EVENTS(x)
 Allow passing of normal events when stack is being shut down.
#define NUTAG_SHUTDOWN_EVENTS_REF(x)
 Reference tag for NUTAG_SHUTDOWN_EVENTS().

Typedefs

typedef struct nua_s nua_t
 NUA agent.
typedef struct nua_handle_s nua_handle_t
 NUA transaction handle.

Enumerations

enum  nua_session_refresher {
  nua_no_refresher,
  nua_local_refresher,
  nua_remote_refresher,
  nua_any_refresher
}
 

Enumeration type of NUTAG_SESSION_REFRESHER().

More...
enum  nua_auth_cache {
  nua_auth_cache_dialog,
  nua_auth_cache_challenged
}
 

Authentication caching policy.

More...
enum  nua_callstate {
  nua_callstate_init,
  nua_callstate_authenticating,
  nua_callstate_calling,
  nua_callstate_proceeding,
  nua_callstate_completing,
  nua_callstate_received,
  nua_callstate_early,
  nua_callstate_completed,
  nua_callstate_ready,
  nua_callstate_terminating,
  nua_callstate_terminated
}
 

The states for SIP session established with INVITE.

More...
enum  nua_substate {
  nua_substate_extended,
  nua_substate_embryonic,
  nua_substate_pending,
  nua_substate_active,
  nua_substate_terminated
}
 

Parameter type of NUTAG_SUBSTATE().

More...

Functions

char const * nua_callstate_name (enum nua_callstate state)
 Get name for NUA call state.
char const * nua_substate_name (enum nua_substate substate)
 Return name of subscription state.
enum nua_substate nua_substate_make (char const *sip_substate)
 Convert string to enum nua_substate.

Variables

tag_type_t nua_tag_list []
 List of all NUA tags.

Detailed Description

Tags for Sofia-SIP User Agent Library.

Author:
Pekka Pessi <Pekka.Pessi@nokia-email.address.hidden>
Martti Mela <Martti.Mela@nokia-email.address.hidden>
Date:
Created: Mon Feb 19 18:54:26 EET 2001 ppessi

Define Documentation

#define NUA_TAG_H

Defined when <sofia-sip/nua_tag.h> has been included.

#define NUTAG_ALLOW (   x  ) 

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 405 Method Not Allowed is automatically returned if the incoming method is not included in the set.

Used with
nua_set_params()
nua_set_hparams()
any handle-specific nua call
Parameter type
char const *
Values
Valid method name, or comma-separated list of them.

Corresponding tag taking reference parameter is NUTAG_ALLOW_REF().

#define NUTAG_ALLOW_EVENTS (   x  ) 

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 Allow-Events header in the response to the SUBSCRIBE or PUBLISH requests. For incoming SUBSCRIBE or PUBLISH request, an error response 489 Bad Event is automatically returned if the incoming method is not included in the set.

Used with
nua_set_params()
nua_set_hparams()
any handle-specific nua call
Parameter type
char const *
Values
Valid event name, or comma-separated list of them.
See also:
Allow-Events, RFC 3265, RFC 3903, nua_i_subscribe, nua_i_publish, nua_subscribe(), nua_publish(), SIPTAG_ALLOW_EVENTS(), SIPTAG_ALLOW_EVENTS_STR()
Since:
New in 1.12.4.

Corresponding tag taking reference parameter is NUTAG_ALLOW_EVENTS_REF().

#define NUTAG_ANSWER_RECV (   x  ) 

Indicate that SDP answer has been received.

Used with
nua_i_state
Parameter type
int (boolean: nonzero is true, zero is false)

Corresponding tag taking reference parameter is NUTAG_ANSWER_RECV_REF().

#define NUTAG_ANSWER_SENT (   x  ) 

Indicate that SDP answer has been sent.

Used with
nua_i_state
Parameter type
int (boolean: nonzero is true, zero is false)

Corresponding tag taking reference parameter is NUTAG_ANSWER_SENT_REF().

#define NUTAG_ANY (  ) 

Filter tag matching any nua tag.

#define NUTAG_APPL_METHOD (   x  ) 

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.

Used with
nua_set_params()
nua_set_hparams()
any handle-specific nua call
Parameter type
char const *
Values
Valid method name, or comma-separated list of them.

Corresponding tag taking reference parameter is NUTAG_APPL_METHOD_REF().

Since:
Working since 1.12.5. Handling of client-side PRACK and UPDATE was fixed in 1.12.6.
#define NUTAG_AUTH (   x  ) 

Authentication data ("scheme" "realm" "user" "password").

Used with
nua_authenticate()
Parameter type
char const *
Values
NULL terminated string of format:
basic digest scheme:"realm":user:password
NOTE the double quotes around realm! For example:
 Digest:"nokia proxy":xyz:secret 

Corresponding tag taking reference parameter is NUTAG_AUTH_REF().

#define NUTAG_AUTH_CACHE (   x  ) 

Authentication caching policy.

Used with
nua_set_params(), nua_set_hparams()
nua_get_params(), nua_get_hparams()
nua_method(), nua_respond(), nua_invite(), nua_ack(), nua_cancel(), nua_prack(), nua_update(), nua_info(), nua_bye(), nua_options(), nua_message(), nua_register(), nua_unregister(), nua_publish(), nua_refer(), nua_subscribe(), nua_unsubscribe(), nua_notify(), nua_notifier()
Parameter type
enum nua_auth_cache
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().

Since:
New in 1.12.6.
#define NUTAG_AUTHTIME (   x  ) 

Lifetime of authentication data in seconds.

Used with
Currently not processed by NUA
Parameter type
unsigned int
Values
  • 0 (zero) - Use authentication data only for this handle
  • nonzero - Lifetime of authentication data in seconds

Corresponding tag taking reference parameter is NUTAG_AUTHTIME_REF().

#define NUTAG_AUTO302 (   x  ) 

Recurse automatically on 302 response.

If this parameter is true, a client recurses automatically upon receiving a 302 response. The request is resent with the request-URI from the Contact header in the 302 response.

Used with
nua_create(), nua_set_params(), nua_set_hparams(),
nua_get_params(), nua_get_hparams(),
nua_invite(), nua_prack(), nua_ack(), nua_update(), nua_respond(),
nua_info(), nua_cancel(), nua_bye(),
nua_register(), nua_unregister(), nua_publish(), nua_unpublish(),
nua_subscribe(), nua_unsubscribe(), nua_refer(), nua_notify(),
nua_options(), nua_message(), nua_method()
Parameter type
int (boolean: nonzero is true, zero is false)
Values
  • 0 (false) - process 302 as an ordinary final response
  • 1 (true) - resend request with URI received in 302 response

Default value is NUTAG_AUTO302(1).

Corresponding tag taking reference parameter is NUTAG_AUTO302_REF().

#define NUTAG_AUTO305 (   x  ) 

Recurse automatically on 305 response.

If this parameter is true, a client recurses automatically upon receiving a 305 response. The request is resent via the proxy specified by the Contact header in the 305 response. The proxy URI is included in the Route header of the request.

Note that the NUTAG_PROXY() takes a precedence over the proxy in 305, and the NUTAG_PROXY() is responsible of actually routing the request through the 305 proxy.

Used with
nua_create(), nua_set_params(), nua_set_hparams(),
nua_get_params(), nua_get_hparams(),
nua_invite(), nua_prack(), nua_ack(), nua_update(), nua_respond(),
nua_info(), nua_cancel(), nua_bye(),
nua_register(), nua_unregister(), nua_publish(), nua_unpublish(),
nua_subscribe(), nua_unsubscribe(), nua_refer(), nua_notify(),
nua_options(), nua_message(), nua_method()
Parameter type
int (boolean: nonzero is true, zero is false)
Values
  • 0 (false) - process 305 as an ordinary final response
  • 1 (true) - resend request via proxy received in 305 response

Default value is NUTAG_AUTO305(1).

Corresponding tag taking reference parameter is NUTAG_AUTO305_REF().

#define 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.

Used with
nua_set_params(), nua_set_hparams(),
nua_get_params(), nua_get_hparams(),
nua_invite(), nua_ack(), nua_respond(), nua_update()
nua_respond()
Parameter type
int (boolean: nonzero is true, zero is false)
Values
  • 0 (false) - No automatic sending of ACK
  • 1 (true) - ACK sent automatically

Default value is NUTAG_AUTOACK(1).

Auto ACK with Re-INVITE requests
By default, NUA tries to auto-ACK the final response to re-INVITE used to refresh the session when the media is enabled. Set NUTAG_AUTOACK(0) on the call handle (e.g., include the tag with nua_invite() or nua_respond()) in order to disable the auto ACK with re-INVITE.

Corresponding tag taking reference parameter is NUTAG_AUTOACK_REF().

#define 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.

Used with
nua_set_params()
nua_get_params()
Parameter type
int (boolean: nonzero is true, zero is false)
Values
  • 0 (false) - no automatic sending of "180 Ringing"
  • 1 (true) - "180 Ringing" sent automatically

Corresponding tag taking reference parameter is NUTAG_AUTOALERT_REF().

#define NUTAG_AUTOANSWER (   x  ) 

Answer (with 200 Ok) automatically to incoming call.

Used with
nua_set_params(), nua_set_hparams()
nua_get_params(), nua_get_hparams()
nua_invite()
nua_respond()
Parameter type
int (boolean: nonzero is true, zero is false)
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).
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.
See also:
NUTAG_MEDIA_ENABLE(), NUTAG_AUTOALERT(), NUTAG_AUTOACK().
#define NUTAG_CALLEE_CAPS (   x  ) 

Add methods parameter and media feature parameter to the Contact headers generated for REGISTER request.

Used with
Parameter type
int
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().

See also:
nua_register(), Contact, NUTAG_M_FEATURES(), RFC 3840, RFC 3841, SOATAG_USER_SDP(), NUTAG_MEDIA_FEATURES()
#define NUTAG_CALLSTATE (   x  ) 

Call state.

Used with
nua_i_state
Parameter type
int
Values

Corresponding tag taking reference parameter is NUTAG_CALLSTATE_REF().

#define NUTAG_CERTIFICATE_DIR (   x  ) 

X.500 certificate directory.

Used with
nua_create()
Parameter type
char const *
Values
NULL terminated pathname of directory containing agent.pem and cafile.pem files.

Corresponding tag taking reference parameter is NUTAG_CERTIFICATE_DIR_REF().

#define NUTAG_CERTIFICATE_PHRASE (   x  ) 

Certificate phrase.

Used with
Currently not processed by NUA
Parameter type
char const *
Values

Corresponding tag taking reference parameter is NUTAG_CERTIFICATE_PHRASE_REF().

#define NUTAG_DETECT_NETWORK_UPDATES (   x  ) 

Enable detection of local IP address updates.

Used with
nua_create()
nua_set_params()
nua_get_params()
Parameter type
int (enum nua_nw_detector_e aka nua_nw_detector_t)
See also:
nua_i_network_changed, nua_nw_detector_t

Corresponding tag taking reference parameter is NUTAG_DETECT_NETWORK_UPDATES_REF().

Since:
New in 1.12.2.
#define NUTAG_DIALOG (   b  ) 

An (extension) method is used to create dialog or refresh target.

Used with
nua_method()
Parameter type
unsigned int (0, 1, 2)
Values
  • 0 if dialog target is not refreshed
  • 1 if dialog target is refreshed
  • > 1 if dialog is to be created
Since:
New in 1.12.6.
See also:
nua_method(), nua_i_method
#define NUTAG_EARLY_ANSWER (   x  ) 

Establish early media session by including SDP answer in 1XX response.

Used with
nua_respond(), nua_set_params(), nua_set_hparams()
Parameter type
int (boolean: nonzero is true, zero is false)
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).
See also:
NUTAG_EARLY_MEDIA(), NUTAG_AUTOALERT(), NUTAG_MEDIA_ENABLE()
Since:
New in 1.12.2.
#define NUTAG_EARLY_MEDIA (   x  ) 

Establish early media session using 100rel, 183 responses and PRACK.

Used with
Parameter type
int (boolean: nonzero is true, zero is false)
Values
  • 0 (false) - do not try to use early media
  • 1 (true) - try to use early media
See also:
NUTAG_EARLY_ANSWER()

Corresponding tag taking reference parameter is NUTAG_EARLY_MEDIA_REF().

#define NUTAG_ENABLEINVITE (   x  ) 

Enable incoming INVITE.

Used with
nua_set_params()
nua_get_params()
Parameter type
int (boolean: nonzero is true, zero is false)
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().

#define NUTAG_ENABLEMESSAGE (   x  ) 

Enable incoming MESSAGE.

Used with
nua_set_params()
nua_get_params()
Parameter type
int (boolean: nonzero is true, zero is false)
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().

#define 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.

Used with
nua_set_params()
nua_get_params()
Parameter type
int (boolean: nonzero is true, zero is false)
Values
  • 0 (false) - disable Windows-Messenger-specific features
  • 1 (true) - enable Windows-Messenger-specific features

Corresponding tag taking reference parameter is NUTAG_ENABLEMESSENGER_REF().

#define NUTAG_EVENT (   x  ) 

NUA event.

Deprecated:
Parameter type
enum nua_event_e
Values

Corresponding tag taking reference parameter is NUTAG_EVENT_REF().

#define NUTAG_HANDLE (   x  ) 

NUA Handle.

Deprecated:
Parameter type
nua_handle_t *
Values

Corresponding tag taking reference parameter is NUTAG_HANDLE_REF().

#define 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 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.

Used with
nua_invite()
Parameter type
nua_handle_t *
Values

Corresponding tag taking reference parameter is NUTAG_IDENTITY_REF().

#define 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.

Used with
nua_respond()
Parameter type
int (boolean: nonzero is true, zero is false)
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).
See also:
NUTAG_EARLY_ANSWER(), NUTAG_EARLY_MEDIA(), NUTAG_AUTOALERT(), NUTAG_MEDIA_ENABLE(), RFC 3264, RFC 3264
Since:
New in 1.12.4.
#define 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().

Used with
nua_set_params()
nua_set_hparams()
any handle-specific nua call
Parameter type
sip_route_t const *
Values
Linked list of sip_route_t structures

Corresponding tag taking reference parameter is NUTAG_INITIAL_ROUTE_REF().

Since:
New in 1.12.7.
#define 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.

Used with
nua_set_params()
nua_set_hparams()
any handle-specific nua call
Parameter type
sip_route_t const *
Values
Linked list of sip_route_t structures

Corresponding tag taking reference parameter is NUTAG_INITIAL_ROUTE_STR_REF().

Since:
New in 1.12.7.
#define NUTAG_INSTANCE (   x  ) 

Intance identifier.

Used with
nua_create(), nua_set_params(), nua_get_params(), nua_register()
Parameter type
char const *
Value
urn:uuid string, a globally unique identifier for this user-agent instance.

Corresponding tag taking reference parameter is NUTAG_INSTANCE_REF().

#define NUTAG_INVITE_TIMER (   x  ) 

Timer for outstanding INVITE in seconds.

INVITE will be canceled if no answer is received before timer expires.

Used with
nua_invite()
nua_set_params(), nua_set_hparams(), nua_get_params(), nua_get_hparams()
Parameter type
int (enum nua_af)
Values
  • 0 no timer
  • >0 timer in seconds

Corresponding tag taking reference parameter is NUTAG_INVITE_TIMER_REF().

#define NUTAG_KEEPALIVE (   x  ) 

Keepalive interval in milliseconds.

This setting applies to OPTIONS/STUN keepalives. See documentation for nua_register() for more detailed information.

Used with
nua_register()
nua_set_params()
nua_get_params() nua_set_hparams()
nua_get_hparams()
Parameter type
unsigned int
Values
  • 0 - disable keepalives
  • 120000 - default value (120000 milliseconds, 120 seconds)

Corresponding tag taking reference parameter is NUTAG_KEEPALIVE_REF().

#define NUTAG_KEEPALIVE_STREAM (   x  ) 

Transport-level keepalive interval for streams.

See documentation for nua_register() for more detailed information.

Used with
nua_register()
nua_set_params()
nua_get_params() nua_set_hparams()
nua_get_hparams()
Parameter type
unsigned int
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.
#define 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.

Used with
nua_register(), nua_set_hparams(), nua_set_params(). nua_invite(), nua_respond(), nua_subscribe(), nua_notify()
Parameter type
string (char *)
Values
Valid display name.
See also:
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 1.12.2.
#define 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 RFC 3840. 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.

Used with
nua_register(), nua_set_hparams(), nua_set_params()
Parameter type
string (char *)
Values
Semicolon-separated SIP header parameters.
See also:
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 1.12.2.
#define 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.

Used with
nua_register(), nua_set_hparams(), nua_set_params(), nua_invite(), nua_respond(), nua_subscribe(), nua_notify()
Parameter type
string (char *)
Values
Semicolon-separated URL parameters.
See also:
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 1.12.2.
#define 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.

Used with
nua_register(), nua_set_hparams(), nua_set_params(). nua_invite(), nua_respond(), nua_subscribe(), nua_notify()
Parameter type
string (char *)
Values
Valid SIP username.
See also:
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 1.12.2.
#define 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.

Used with
nua_set_params()
nua_get_params()
Parameter type
unsigned int
Values
  • 0 (zero) - do not allow any subscriptions
See also:
nua_notifier(), nua_authorize()

Corresponding tag taking reference parameter is NUTAG_MAX_SUBSCRIPTIONS_REF().

#define NUTAG_MEDIA_ENABLE (   x  ) 

Enable built-in media session handling.

The built-in media session object soa takes care of most details of offer-answer negotiation.

Used with
nua_create()
Parameter type
int
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()

#define NUTAG_MEDIA_FEATURES (   x  ) 

Add media tags from our offer to Accept-Contact headers.

Automatically generate Accept-Contact headers for caller preference processing according to the media capabilities in soa.

Used with
Parameter type
int (boolean: nonzero is true, zero is false)
Values

Corresponding tag taking reference parameter is NUTAG_MEDIA_FEATURES_REF()

See also:
nua_invite(), Accept-Contact, RFC 3841, RFC 3840, SOATAG_USER_SDP(), SIPTAG_ACCEPT_CONTACT(), NUTAG_CALLEE_CAPS()
#define NUTAG_METHOD (   x  ) 

Extension method name.

Specify extension method name with nua_method() function.

Used with
nua_method()
Parameter type
char const *
Values
Extension method name (e.g., "SERVICE")

Corresponding tag taking reference parameter is NUTAG_METHOD_REF()

See also:
nua_method(), SIP_METHOD_UNKNOWN()
Since:
New in 1.12.4.
#define NUTAG_MIN_SE (   x  ) 

Minimum acceptable refresh interval for session.

Specifies the value of Min-SE header in seconds. The Min-SE header is used to specify minimum acceptable refresh interval for session timer extension.

Used with
nua_handle(), nua_invite(), nua_update(), nua_respond()
nua_set_params() or nua_set_hparams()
nua_get_params() or nua_get_hparams()

See nua_set_hparams() for a complete list of the nua operations that accept this tag.

Parameter type
unsigned int
Values
interval in seconds.

Corresponding tag taking reference parameter is NUTAG_MIN_SE_REF().

See also:
NUTAG_SESSION_TIMER(), NUTAG_SESSION_REFRESHER(), NUTAG_UPDATE_REFRESH(), RFC 4028, Min-SE, Session-Expires
#define NUTAG_NEWSUB (   x  ) 

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.

Used with
nua_notify()
Parameter type
int (boolean: nonzero is true, zero is false)
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().

Since:
New in 1.12.5.
#define 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().

Used with
nua_invite()
Parameter type
nua_handle_t *
Values

Corresponding tag taking reference parameter is NUTAG_NOTIFY_REFER_REF().

#define NUTAG_OFFER_RECV (   x  ) 

Indicate that SDP offer has been received.

Used with
nua_i_state
Parameter type
int (boolean: nonzero is true, zero is false)

Corresponding tag taking reference parameter is NUTAG_OFFER_RECV_REF().

#define NUTAG_OFFER_SENT (   x  ) 

Indicate that SDP offer has been sent.

Used with
nua_i_state
Parameter type
int (boolean: nonzero is true, zero is false)

Corresponding tag taking reference parameter is NUTAG_OFFER_SENT_REF().

#define 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 100 Trying) require 100rel.

Used with
nua_set_params()
nua_get_params()
nua_handle()
nua_set_hparams()
nua_get_hparams()
nua_invite()
nua_respond()
Parameter type
int (boolean: nonzero is true, zero is false)
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().

See also:
#define 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.10 release, the defaults are: "gruuize no-outbound validate use-rport options-keepalive").

Note:
Options string is used so that no new tags need to be added when the outbound functionality changes.
Used with
nua_register()
nua_set_params()
nua_get_params() nua_set_hparams()
nua_get_hparams()
Parameter type
char const *
Values

Corresponding tag taking reference parameter is NUTAG_OUTBOUND_REF().

#define NUTAG_PATH_ENABLE (   x  ) 

If true, add "path" to Supported in REGISTER.

Used with
Parameter type
int (boolean: nonzero is true, zero is false)
Values
  • 0 (false) - Do not include "path" to Supported header
  • 1 (true) - Include "path" to Supported header
See also:
NUTAG_SERVICE_ROUTE_ENABLE(), NUTAG_SUPPORTED(), NUTAG_INITIAL_ROUTE(), NUTAG_INITIAL_ROUTE_STR(), RFC 3327 "SIP Extension Header Field for Registering Non-Adjacent Contacts", D. Willis, B. Hoeneisen, December 2002.
#define NUTAG_PHRASE (   x  ) 

Response phrase.

Deprecated:
Parameter type
char const *
Values.

Corresponding tag taking reference parameter is NUTAG_PHRASE_REF().

#define NUTAG_PROXY (   x  ) 

Outbound proxy URL.

Same tag as NTATAG_DEFAULT_PROXY()

Used with
nua_set_params()
nua_get_params()
nua_create()
Note:
Since 1.12.9, NUTAG_PROXY()/NTATAG_DEFAULT_PROXY() can be used to set handle-specific outbound route. The route is set with
nua_set_hparams(),
nua_invite(), nua_prack(), nua_ack(), nua_update(), nua_respond(),
nua_info(), nua_cancel(), nua_bye(),
nua_register(), nua_unregister(), nua_publish(), nua_unpublish(),
nua_subscribe(), nua_unsubscribe(), nua_refer(), nua_notify(),
nua_options(), nua_message(), nua_method()
Parameter type
url_string_t const * (either char const * or url_t *)
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().

#define 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.

Used with
Parameter type
sip_event_t *
Values

Corresponding tag taking reference parameter is NUTAG_REFER_EVENT_REF().

#define NUTAG_REFER_EXPIRES (   x  ) 

Default lifetime for implicit subscriptions created by REFER.

Default expiration time in seconds for implicit subscriptions created by REFER.

Used with
nua_handle(), nua_respond()
nua_set_params() or nua_set_hparams()
nua_get_params() or nua_get_hparams()
Parameter type
unsigned int
Values
  • default interval in seconds
See also:
NUTAG_SUB_EXPIRES()

Corresponding tag taking reference parameter is NUTAG_REFER_EXPIRES_REF().

#define NUTAG_REFER_PAUSE (   x  ) 

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.

Used with
nua_invite()
Parameter type
int (boolean: nonzero is true, zero is false)
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.
#define NUTAG_REFER_WITH_ID (   x  ) 

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.

Used with
nua_set_params() (nua_set_hparams(), nua_invite(), nua_respond(), nua_update()).
Parameter type
int (boolean: nonzero is true, zero is false)
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 1.12.2.
#define 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.

Used with
nua_handle(), nua_invite(), nua_update(), nua_respond()
nua_set_params() or nua_set_hparams()
nua_get_params() or nua_get_hparams()

See nua_set_hparams() for a complete list of all the nua operations that accept this tag.

Parameter type
int (boolean: nonzero is true, zero is false)
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().

See also:
nua_r_update, NUTAG_SESSION_TIMER(), NUTAG_MIN_SE_REF(), NUTAG_SESSION_REFRESHER(), NUTAG_UPDATE_REFRESH(), RFC 4028, Session-Expires, Min-SE
Since:
New in 1.12.10
#define NUTAG_REGISTRAR (   x  ) 

Registrar URL.

Used with
nua_register()
nua_set_params()
nua_get_params()
Parameter type
url_string_t const * (either char const * or url_t *)
Values

Corresponding tag taking reference parameter is NUTAG_REGISTRAR_REF().

#define 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.

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().
Parameter type
unsigned
Values
  • 0 - Never retry automatically
  • Otherwise, number of extra transactions initiated after initial transaction failed with recoverable error response
Since:
New in 1.12.4.

Corresponding tag taking reference parameter is NUTAG_RETRY_COUNT_REF().

#define NUTAG_SERVICE_ROUTE_ENABLE (   x  ) 

Use route taken from the Service-Route header in the 200 class response to REGISTER.

Used with
Parameter type
int (boolean: nonzero is true, zero is false)
Values

Corresponding tag taking reference parameter is NUTAG_SERVICE_ROUTE_ENABLE_REF().

See also:
NUTAG_INITIAL_ROUTE(), NUTAG_INITIAL_ROUTE_STR(), RFC 3608
#define NUTAG_SESSION_REFRESHER (   x  ) 

Specify the preferred refresher.

Specify for session timer extension which party is the preferred refresher.

Used with
nua_handle(), nua_invite(), nua_update(), nua_respond()
nua_set_params() or nua_set_hparams()
nua_get_params() or nua_get_hparams()

See nua_set_hparams() for a complete list of all the nua operations that accept this tag.

Parameter type
enum { nua_no_refresher, nua_local_refresher, nua_remote_refresher, nua_any_refresher }
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().

See also:
NUTAG_SESSION_TIMER(), NUTAG_MIN_SE_REF(), NUTAG_UPDATE_REFRESH(), RFC 4028, Session-Expires, Min-SE
#define 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.

Sending INVITE and UPDATE Requests

If NUTAG_SESSION_TIMER() is used with non-zero value, the value is used in the Session-Expires header included in the INVITE or UPDATE requests. The intermediate proxies or the ultimate destination can lower the interval in Session-Expires header. If the value is too low, they can reject the request with the status code 422 Session Timer Too Small. In that case, nua increases the value of Session-Expires header and retries the request automatically.

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 Session-Expires header of the request is lower than the value in NUTAG_SESSION_TIMER(), the value from the incoming Session-Expires header is used. However, if the value in Session-Expires is lower than the minimal acceptable session expiration interval specified with the tag NUTAG_MIN_SE() the request is automatically rejected with 422 Session Timer Too Small.

Refreshes

After the initial INVITE request, the SIP session is refreshed at the intervals indicated by the Session-Expires header returned in the 2XX response. The party indicated with the "refresher" parameter of the Session-Expires 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.

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 Session-Expires 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.
Used with
nua_invite(), nua_update(), nua_respond()
nua_set_params() or nua_set_hparams()
nua_get_params() or nua_get_hparams()

See nua_set_hparams() for a complete list of the the nua operations that accept this tag.

Parameter type
unsigned int
Values
  • 0 disable
  • >0 interval in seconds

Corresponding tag taking reference parameter is NUTAG_SESSION_TIMER_REF().

See also:
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(), RFC 4028, Session-Expires, Min-SE
#define 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().

Used with
nua_create(), nua_set_params().
Parameter type
int (boolean: nonzero is true, zero is false)
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().

See also:
nua_shutdown(), nua_destroy().
Since:
New in 1.12.9.
#define NUTAG_SIP_PARSER (   x  ) 

Pointer to a customized SIP parser used with NUA.

Used with
nua_create()
Parameter type
msg_mclass_t const *
Values
Pointer to an extended SIP parser.
See also:
msg_mclass_clone(), msg_mclass_insert_header()

Corresponding tag taking reference parameter is NUTAG_SIP_PARSER_REF().

#define 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.

Used with
nua_create()
Parameter type
char const *
Values

Corresponding tag taking reference parameter is NUTAG_SIPS_URL_REF().

#define NUTAG_SMIME_ENABLE (   x  ) 

Enable S/MIME.

Used with
nua_create()
nua_set_params()
nua_get_params()
Parameter type
int (boolean: nonzero is true, zero is false)
Values
  • 0 (false) - S/MIME is Disabled
  • 1 (true) - S/MIME is Enabled

Corresponding tag taking reference parameter is NUTAG_SMIME_ENABLE_REF().

#define NUTAG_SMIME_KEY_ENCRYPTION (   x  ) 

S/MIME key encryption algorithm.

This tag specifies the key encryption algorithm to be used by S/MIME.

Used with
To be implemented
Parameter type
char const *
Values

Corresponding tag taking reference parameter is NUTAG_SMIME_KEY_ENCRYPTION_REF().

#define NUTAG_SMIME_MESSAGE_DIGEST (   x  ) 

S/MIME digest algorithm.

This tag specifies the message digest algorithm to be used in S/MIME.

Used with
To be implemented
Parameter type
char const *
Values

Corresponding tag taking reference parameter is NUTAG_SMIME_MESSAGE_DIGEST_REF().

#define NUTAG_SMIME_MESSAGE_ENCRYPTION (   x  ) 

S/MIME message encryption algorithm.

This tag specifies the message encryption algorithm to be used in S/MIME.

Used with
To be implemented.
Parameter type
char const *
Values

Corresponding tag taking reference parameter is NUTAG_SMIME_MESSAGE_ENCRYPTION_REF().

#define NUTAG_SMIME_OPT (   x  ) 

S/MIME Options.

This tag specifies the type of S/MIME security services requested by the user.

Used with
nua_set_params()
nua_get_params()
nua_message()
Parameter type
int
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().

#define 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

Used with
nua_set_params()
nua_get_params()
Parameter type
unsigned int
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().

#define NUTAG_SMIME_SIGNATURE (   x  ) 

S/MIME signature algorithm.

This tag specifies the signature algorithm to be used in S/MIME.

Used with
To be implemented.
Parameter type
char const *
Values

Corresponding tag taking reference parameter is NUTAG_SMIME_SIGNATURE_REF().

#define NUTAG_SOA_NAME (   x  ) 

Name for SDP Offer-Answer session object.

SDP Offer-Answer session object name.

Used with nua_create(), nua_handle().
Parameter type
void * (actually soa_session_t *)
Values
Pointer to MSS media session.

Corresponding tag taking reference parameter is NUTAG_SOA_NAME_REF().

#define NUTAG_STATUS (   x  ) 

Response status code.

Deprecated:
Parameter type
unsigned int
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().

#define NUTAG_SUB_EXPIRES (   x  ) 

Default expiration time of subscriptions.

Used with
Parameter type
unsigned int
Values
  • default expiration time in seconds

Note that the expires parameter in Subscription-State or Expires header in the nua_response() to the SUBSCRIBE overrides the default subscription expiration specified by NUTAG_SUB_EXPIRES().

See also:
RFC 3265, NUTAG_REFER_EXPIRES(), Expires, SIPTAG_EXPIRES(), SIPTAG_EXPIRES_STR(), Subscription-State, 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().

Since:
New in 1.12.9.
#define NUTAG_SUBSTATE (   x  ) 

Subscription state.

Used with
Parameter type
int
Values

Note that the Subscription-State 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), Subscription-State with value "terminated" or Expires header with value 0 in the NOTIFY request sent by nua_notify().

See also:
RFC 3265, Subscription-State, 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().

#define NUTAG_SUPPORTED (   x  ) 

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 420 Bad Extension is automatically returned if the request requires features that are not included in the supported feature set.

Used with
nua_set_params()
nua_set_hparams()
any handle-specific nua call
Parameter type
char const *
Values
Feature name, or comma-separated list of them.

Corresponding tag taking reference parameter is NUTAG_SUPPORTED_REF().

Since:
New in 1.12.2.
#define 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 Session-Expires and Min-SE are always included in the UPDATE request and responses regardless of the value of this tag.

Used with
nua_handle(), nua_invite(), nua_update(), nua_respond()
nua_set_params() or nua_set_hparams()
nua_get_params() or nua_get_hparams()

See nua_set_hparams() for a complete list of all the nua operations that accept this tag.

Parameter type
int (boolean: nonzero is true, zero is false)
Values
  • 1 (true, use UPDATE)
  • 0 (false, use INVITE)

Corresponding tag taking reference parameter is NUTAG_UPDATE_REFRESH_REF().

See also:
nua_r_update, NUTAG_SESSION_TIMER(), NUTAG_MIN_SE_REF(), NUTAG_SESSION_REFRESHER(), RFC 4028, Session-Expires, Min-SE
#define NUTAG_URL (   x  ) 

URL address from application to NUA.

Used with
any function that create SIP request or nua_handle()
nua_create()
nua_set_params()
nua_get_params()
Parameter type
char const * or url_t * or url_string_t *
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().

See also:
SIPTAG_TO()

Corresponding tag taking reference parameter is NUTAG_URL_REF()

#define NUTAG_USE_DIALOG (   x  ) 

Ask NUA to create dialog for this handle.

Used with nua calls that send a SIP request
Parameter type
int (boolean: nonzero is true, zero is false)
Values
  • 0 (false) - do not create a dialog
  • 1 (true) - store dialog info

Corresponding tag taking reference parameter is NUTAG_USE_DIALOG_REF().

#define NUTAG_USER_AGENT (   x  ) 

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().

Used with
nua_set_params(), nua_set_hparams()
nua_get_params(), nua_get_hparams(), nua_r_get_params
any handle-specific nua call
Parameter type
char const *
Values
See RFC 3261
If NULL, stack uses default string which of format "sofia-sip/1.12".

Corresponding tag taking reference parameter is NUTAG_USER_AGENT_REF().

#define NUTAG_WITH (   x  ) 

Specify request to respond to.

Used with
nua_respond()
Parameter type
msg_t *
Values
Pointer to a request message.
Since:
New in 1.12.4.
See also:
nua_save_event(), NUTAG_WITH_THIS(), NUTAG_WITH_SAVED()
#define NUTAG_WITH_SAVED (   e  ) 

Specify request to respond to.

Used with
nua_respond()
Parameter type
nua_saved_event_t *
Values
Pointer to a saved event.
Since:
New in 1.12.4.
See also:
nua_save_event(), NUTAG_WITH(), NUTAG_WITH_THIS()
#define NUTAG_WITH_THIS (   nua  ) 

Specify request to respond to.

Used with
nua_respond()
Parameter type
nua_t *
Values
Pointer to the nua agent instance object.
Since:
New in 1.12.4.
See also:
NUTAG_WITH(), NUTAG_WITH_SAVED()

Typedef Documentation

typedef struct nua_handle_s nua_handle_t

NUA transaction handle.

typedef struct nua_s nua_t

NUA agent.


Enumeration Type Documentation

Authentication caching policy.

Since:
New in 1.12.6.
Enumerator:
nua_auth_cache_dialog 

Include credentials within dialog (default).

nua_auth_cache_challenged 

Include credentials only when challenged.

The states for SIP session established with INVITE.

Initially the call states follow the state of the INVITE transaction. If the initial INVITE transaction fails, the call is terminated. The status codes 401 and 407 are an exception: if the client (on the left side in the diagram below) receives them, it enters in nua_callstate_authenticating state.

If a re-INVITE transaction fails, the result depends on the status code in failure. The call can return to the ready state, be terminated immediately, or be terminated gracefully. The proper action to take is determined with sip_response_terminates_dialog().

See also:
NUA Call Model, nua_i_state, nua_invite(), nua_i_invite
Session State Diagram
                         +----------+
                         |          |---------------------+
                         |   Init   |                     |
                         |          |----------+          |
                         +----------+          |          |
                          |        |           |          |
                 --/INVITE|        |INVITE/100 |          |
                          V        V           |          |
                +----------+      +----------+ |          |
       +--------|          |      |          | |          |
       |  18X +-| Calling  |      | Received | |INVITE/   |
       |   /- | |          |      |          | |  /18X    |
       |      V +----------+      +----------+ V          |
       |   +----------+ |           |     |  +----------+ |
       |---|          | |2XX     -/ |  -/ |  |          | |
       |   | Proceed- | | /-     2XX|  18X|  |  Early   | |INVITE/
       |   |   ing    | |           |     +->|          | |  /200
       |   +----------+ V           V        +----------+ |
       |     |  +----------+      +----------+   | -/     |
       |  2XX|  |          |      |          |<--+ 2XX    |
       |   /-|  | Complet- |      | Complete |<-----------+
       |     +->|   ing    |      |          |------+
       |        +----------+      +----------+      |
       |                  |        |      |         |
       |401,407/     -/ACK|        |ACK/- |timeout/ |
       | /ACK             V        V      | /BYE    |
       |                 +----------+     |         |
       |                 |          |     |         |
       |              +--|  Ready   |     |         |
       |              |  |          |     |         |
       |              |  +----------+     |         |
       |              |       |           |         |
       |         BYE/ |       |-/BYE      |         |BYE/
       V         /200 |       V           |         |/200
  +----------+        |  +----------+     |         |
  |          |        |  |          |     |         |
  |Authentic-|        |  | Terminat-|<----+         |
  |  ating   |        |  |   ing    |               |
  +----------+        |  +----------+               |
                      |       |                     |
                      |       |[23456]XX/-          |
                      |       V                     |
                      |  +----------+               |
                      |  |          |               |
                      +->|Terminated|<--------------+
                         |          |
                         +----------+
                              |
                              V
                         +----------+
                         |          |
                         |   Init   |
                         |          |
                         +----------+
Enumerator:
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.

nua_callstate_early 

18X sent (w/SDP)

nua_callstate_completed 

2XX sent

nua_callstate_ready 

2XX received, ACK sent, or vice versa

nua_callstate_terminating 

BYE sent.

nua_callstate_terminated 

BYE complete.

Enumeration type of NUTAG_SESSION_REFRESHER().

Enumerator:
nua_no_refresher 

Disable session timer.

nua_local_refresher 

Session refresh by local end.

nua_remote_refresher 

Session refresh by remote end.

nua_any_refresher 

No preference (default).

Parameter type of NUTAG_SUBSTATE().

Enumerator:
nua_substate_extended 

Extended state, considered as active.

nua_substate_embryonic 

Embryonic subscription: SUBSCRIBE sent.

nua_substate_pending 

Pending subscription.

nua_substate_active 

Active subscription.

nua_substate_terminated 

Terminated subscription.


Function Documentation

char const* nua_callstate_name ( enum nua_callstate  state  ) 

Get name for NUA call state.

Get name for NUA call state.

Get name for NUA callstate.

See also:
enum nua_callstate, nua_event_name(), nua_substate_name()
enum nua_substate nua_substate_make ( char const *  sip_substate  ) 

Convert string to enum nua_substate.

Since:
New in 1.12.5.
char const* nua_substate_name ( enum nua_substate  substate  ) 

Return name of subscription state.

Since:
New in 1.12.5.
New in 1.12.5.
See also:
enum nua_substate, nua_event_name(), nua_callstate_name()

Variable Documentation

List of all NUA tags.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Sofia-SIP 1.12.11 - Copyright (C) 2006 Nokia Corporation. All rights reserved. Licensed under the terms of the GNU Lesser General Public License.