Loading...
Searching...
No Matches
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:

## Macros

#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_ACCEPT_MULTIPART(x)
| Enable multipart processing for received messages.
#define | NUTAG_ACCEPT_MULTIPART_REF(x)
| Reference tag for NUTAG_ACCEPT_MULTIPART().
#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_AUTO100(x)
| Generate automatically 100 Trying responses.
#define | NUTAG_AUTO100_REF(x)
| Reference tag for NUTAG_AUTO100().
#define | NUTAG_MAX_RETRY_AFTER(x)
| This parameter specifies the maximum delay in seconds that stack allows for Retry-After header when it considers if it should automatically retry the request.
#define | NUTAG_MAX_RETRY_AFTER_REF(x)
| Reference tag for NUTAG_MAX_RETRY_AFTER().
#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_APPL_EVENT(x)
| List events which the application handles always.
#define | NUTAG_APPL_EVENT_REF(x)
| Reference tag for NUTAG_APPL_EVENT().
#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().
#define | NUTAG_DEFERRABLE_TIMERS(x)
| Use deferrable timers in NUA.
#define | NUTAG_DEFERRABLE_TIMERS_REF(x)
| Reference tag for NUTAG_DEFERRABLE_TIMERS().

## 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 , _nua_auth_cache_invalid }
| 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 }
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.nosp@m..Pes.nosp@m.si@no.nosp@m.kia..nosp@m.com
  Martti Mela Martt.nosp@m.i.Me.nosp@m.la@no.nosp@m.kia..nosp@m.com

Date
  Created: Mon Feb 19 18:54:26 EET 2001 ppessi

## Macro Definition Documentation

## NUTAG_ACCEPT_MULTIPART

#define NUTAG_ACCEPT_MULTIPART | ( |  | x | ) |

Enable multipart processing for received messages.

If an incoming request or response contains multipart body, it is parsed and can be accessed from sip_multipart field.

Used with
  nua_create(), 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
  int (boolean)

Values
  - 0 (false) - do not interpret multipart bodies
  - 1 (true) - try to parse message body in multipart format

Corresponding tag taking reference parameter is NUTAG_ACCEPT_MULTIPART_REF()

Since
  Not yet released

## NUTAG_ACCEPT_MULTIPART_REF

#define NUTAG_ACCEPT_MULTIPART_REF | ( |  | x | ) |

Reference tag for NUTAG_ACCEPT_MULTIPART().

Since
  Not yet released

## NUTAG_ALLOW

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

## NUTAG_ALLOW_EVENTS

#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_i_refer, nua_notify(), nua_refer(), nua_subscribe(), nua_publish(), SIPTAG_ALLOW_EVENTS(), SIPTAG_ALLOW_EVENTS_STR(), NUTAG_APPL_EVENT()

Since
  New in 1.12.4.

Corresponding tag taking reference parameter is NUTAG_ALLOW_EVENTS_REF().

## NUTAG_ANSWER_RECV

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

## NUTAG_ANSWER_SENT

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

## NUTAG_APPL_EVENT

#define NUTAG_APPL_EVENT | ( |  | x | ) |

List events which the application handles always.

When nua stack receives a SUBSCRIBE request for an already existing subscription, it can either automatically refresh the subscription or, if the event name is listed in NUTAG_APPL_EVENT() list, it is passed to application, pass the SUBSCRIBE request to application.

The list of application events is cleared with NUTAG_APPL_EVENT(NULL).

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_i_refer, nua_notify(), nua_refer(), nua_subscribe(), nua_publish(), NUTAG_ALLOW_EVENTS(),

Since
  Not yet released

Corresponding tag taking reference parameter is NUTAG_APPL_EVENT_REF().

## NUTAG_APPL_METHOD

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

## NUTAG_AUTH

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

## NUTAG_AUTH_CACHE

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

## NUTAG_AUTHTIME

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

## NUTAG_AUTO100

#define NUTAG_AUTO100 | ( |  | x | ) |

Generate automatically 100 Trying responses.

If this parameter is true, the server will automatically generate a "100 Trying" response to the incoming INVITE request (and other requests containing Timestamp header).

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) - let application generate 100 Trying
  - 1 (true) - automatically generate 100 Trying response

Default value is NUTAG_AUTO100(1).

Corresponding tag taking reference parameter is NUTAG_AUTO100_REF().

Since
  Not yet released

See also
  NTATAG_EXTRA_100()

## NUTAG_AUTO302

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

Since
  New in 1.12.11

## NUTAG_AUTO305

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

Since
  New in 1.12.11

## NUTAG_AUTOACK

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

## NUTAG_AUTOALERT

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

## NUTAG_AUTOANSWER

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

## NUTAG_CALLEE_CAPS

#define NUTAG_CALLEE_CAPS | ( |  | x | ) |

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

Used with
  - nua_create(), nua_set_params(), nua_get_params()
  - nua_handle(), nua_set_hparams(), nua_get_hparams()
  - nua_register()

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

## NUTAG_CALLSTATE

#define NUTAG_CALLSTATE | ( |  | x | ) |

Call state.

Used with
  nua_i_state

Parameter type
  int

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

## NUTAG_CERTIFICATE_DIR

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

## NUTAG_CERTIFICATE_PHRASE

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

## NUTAG_DEFERRABLE_TIMERS

#define NUTAG_DEFERRABLE_TIMERS | ( |  | x | ) |

Use deferrable timers in NUA.

Used with
  nua_create()

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

Values
  - 0 (false) - do not use deferrable timers (default)
  - 1 (true) - use deferrable timers

Corresponding tag taking reference parameter is NUTAG_DEFERRABLE_TIMERS_REF().

See also
  su_timer_deferrable(), su_root_set_max_defer()

Since
  Not yet released

## NUTAG_DETECT_NETWORK_UPDATES

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

## NUTAG_DIALOG

#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

## NUTAG_EARLY_ANSWER

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

## NUTAG_EARLY_MEDIA

#define NUTAG_EARLY_MEDIA | ( |  | x | ) |

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

Used with
  - nua_create(), 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) - 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().

## NUTAG_ENABLEINVITE

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

## NUTAG_ENABLEMESSAGE

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

## NUTAG_ENABLEMESSENGER

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

## NUTAG_EVENT

#define NUTAG_EVENT | ( |  | x | ) |

NUA event.

Deprecated

Parameter type
  enum nua_event_e

Values

Corresponding tag taking reference parameter is NUTAG_EVENT_REF().

## NUTAG_HANDLE

#define NUTAG_HANDLE | ( |  | x | ) |

NUA Handle.

Deprecated

Parameter type
  nua_handle_t *

Values

Corresponding tag taking reference parameter is NUTAG_HANDLE_REF().

## NUTAG_IDENTITY

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

## NUTAG_INCLUDE_EXTRA_SDP

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

## NUTAG_INITIAL_ROUTE

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

## NUTAG_INITIAL_ROUTE_STR

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

## NUTAG_INSTANCE

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

## NUTAG_INVITE_TIMER

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

## NUTAG_KEEPALIVE

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

## NUTAG_KEEPALIVE_STREAM

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

## NUTAG_M_DISPLAY

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

## NUTAG_M_FEATURES

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

## NUTAG_M_PARAMS

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

## NUTAG_M_USERNAME

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

## NUTAG_MAX_RETRY_AFTER

#define NUTAG_MAX_RETRY_AFTER | ( |  | x | ) |

This parameter specifies the maximum delay in seconds that stack allows for Retry-After header when it considers if it should automatically retry the request.

If the delay specified by in Retry-After header is greater or equal to this value, stack does no retry but considers the transaction complete.

The value 0 disables the automatic retry.

Used with
  nua_create(), nua_set_params() or nua_set_hparams()
  nua_get_params() or nua_get_hparams() nua_handle(), nua_invite(), nua_update(), nua_respond()
  See nua_set_hparams() for a complete list of all the nua operations that accept this tag.

Parameter type
  unsigned int

Value
  Maximum Retry-After delay obeyed.

Default value is NUTAG_MAX_RETRY_AFTER(32).

Corresponding tag taking reference parameter is NUTAG_MAX_RETRY_AFTER_REF().

Since
  Not yet released

See also
  Retry-After

## NUTAG_MAX_SUBSCRIPTIONS

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

## NUTAG_MEDIA_ENABLE

#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(), 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
  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()

## NUTAG_MEDIA_FEATURES

#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
  - nua_create(), nua_set_params(), nua_get_params()
  - nua_handle(), nua_set_hparams(), nua_get_hparams()
  - nua_invite()

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

Values
  - 0 (false) - Do not add Accept-Contact
  - 1 (true) - Add Accept-Contact with media tags

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

## NUTAG_METHOD

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

## NUTAG_MIN_SE

#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

## NUTAG_NEWSUB

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

## NUTAG_NOTIFY_REFER

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

## NUTAG_OFFER_RECV

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

## NUTAG_OFFER_SENT

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

## NUTAG_ONLY183_100REL

#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

## NUTAG_OUTBOUND

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

## NUTAG_PATH_ENABLE

#define NUTAG_PATH_ENABLE | ( |  | x | ) |

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

Used with
  - nua_create(), nua_set_params(), nua_get_params()
  - nua_handle(), nua_set_hparams(), nua_get_hparams()
  - nua_register()

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.

## NUTAG_PHRASE

#define NUTAG_PHRASE | ( |  | x | ) |

Response phrase.

Deprecated

Parameter type
  char const *

Values.

Corresponding tag taking reference parameter is NUTAG_PHRASE_REF().

## NUTAG_PROXY

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

## NUTAG_REFER_EVENT

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

## NUTAG_REFER_EXPIRES

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

## NUTAG_REFER_PAUSE

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

## NUTAG_REFER_WITH_ID

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

## NUTAG_REFRESH_WITHOUT_SDP

#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

## NUTAG_REGISTRAR

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

## NUTAG_RETRY_COUNT

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

## NUTAG_SERVICE_ROUTE_ENABLE

#define NUTAG_SERVICE_ROUTE_ENABLE | ( |  | x | ) |

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

Used with
  - nua_create(), nua_set_params(), nua_get_params()
  - nua_handle(), nua_set_hparams(), nua_get_hparams()
  - nua_register()

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

Values
  - 0 (false) - Do not use Service-Route
  - 1 (true) - Use Service-Route

Corresponding tag taking reference parameter is NUTAG_SERVICE_ROUTE_ENABLE_REF().

See also
  NUTAG_INITIAL_ROUTE(), NUTAG_INITIAL_ROUTE_STR(), RFC 3608

## NUTAG_SESSION_REFRESHER

#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

## NUTAG_SESSION_TIMER

#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

## NUTAG_SHUTDOWN_EVENTS

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

## NUTAG_SIP_PARSER

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

## NUTAG_SIPS_URL

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

## NUTAG_SMIME_ENABLE

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

## NUTAG_SMIME_KEY_ENCRYPTION

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

## NUTAG_SMIME_MESSAGE_DIGEST

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

## NUTAG_SMIME_MESSAGE_ENCRYPTION

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

## NUTAG_SMIME_OPT

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

## NUTAG_SMIME_PROTECTION_MODE

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

## NUTAG_SMIME_SIGNATURE

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

## NUTAG_SOA_NAME

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

## NUTAG_STATUS

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

## NUTAG_SUB_EXPIRES

#define NUTAG_SUB_EXPIRES | ( |  | x | ) |

Default expiration time of subscriptions.

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

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.

## NUTAG_SUBSTATE

#define NUTAG_SUBSTATE | ( |  | x | ) |

Subscription state.

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 Subscription-State 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

Parameter type
  int

Values
  - nua_substate_embryonic (0)
  - nua_substate_pending (1)
  - nua_substate_active (2)
  - nua_substate_terminated (3)

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

## NUTAG_SUPPORTED

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

## NUTAG_UPDATE_REFRESH

#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

## NUTAG_URL

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

## NUTAG_USE_DIALOG

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

## NUTAG_USER_AGENT

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

## NUTAG_WITH

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

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

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

## Enumeration Type Documentation

## nua_auth_cache

enum nua_auth_cache

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.

## nua_callstate

enum nua_callstate

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.

## nua_session_refresher

enum nua_session_refresher

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

## nua_substate

enum nua_substate

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

## nua_callstate_name()

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

## nua_substate_make()

enum nua_substate nua_substate_make | ( | char const * | sip_substate | ) |

Convert string to enum nua_substate.

Since
  New in 1.12.5.

## nua_substate_name()

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

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