sofia-sip/nua_tag.h File Reference


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

#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 NUTAG_ANY()
 Filter tag matching any nua tag.
#define NUTAG_URL(x)
 URL address from application to NUA.
#define NUTAG_ADDRESS(x)
 Address as a string.
#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_RETRY_COUNT(x)
 Set request retry count.
#define NUTAG_METHOD(x)
 Extension method name.
#define NUTAG_MAX_SUBSCRIPTIONS(x)
 Set maximum number of simultaneous subscribers per single event server.
#define NUTAG_UICC(x)
 Intentionally undocumented.
#define NUTAG_USE_DIALOG(x)
 Ask NUA to create dialog for this handle.
#define NUTAG_SOA_NAME(x)
 Name for SDP Offer-Answer session object.
#define NUTAG_EARLY_MEDIA(x)
 Establish early media session using 100rel, 183 responses and PRACK.
#define NUTAG_ONLY183_100REL(x)
 Respond only 183 with 100rel.
#define NUTAG_EARLY_ANSWER(x)
 Establish early media session by including SDP answer in 1XX response.
#define NUTAG_INCLUDE_EXTRA_SDP(x)
 Include an extra copy of SDP answer in the response.
#define NUTAG_INVITE_TIMER(x)
 Timer for outstanding INVITE in seconds.
#define NUTAG_SESSION_TIMER(x)
 Default session timer in seconds.
#define NUTAG_MIN_SE(x)
 Minimum acceptable refresh interval for session.
#define NUTAG_SESSION_REFRESHER(x)
 Specify the preferred refresher.
#define NUTAG_UPDATE_REFRESH(x)
 Use UPDATE as refresh method.
#define NUTAG_AUTOALERT(x)
 Send alerting (180 Ringing) automatically.
#define NUTAG_AUTOACK(x)
 ACK automatically.
#define NUTAG_AUTOANSWER(x)
 Answer (with 200 Ok) automatically to incoming call.
#define NUTAG_ENABLEINVITE(x)
 Enable incoming INVITE.
#define NUTAG_ENABLEMESSAGE(x)
 Enable incoming MESSAGE.
#define NUTAG_ENABLEMESSENGER(x)
 Enable incoming MESSAGE with To tag.
#define NUTAG_SMIME_ENABLE(x)
 Enable S/MIME.
#define NUTAG_SMIME_OPT(x)
 S/MIME Options.
#define NUTAG_SMIME_PROTECTION_MODE(x)
 S/MIME protection mode.
#define NUTAG_SMIME_MESSAGE_DIGEST(x)
 S/MIME digest algorithm.
#define NUTAG_SMIME_SIGNATURE(x)
 S/MIME signature algorithm.
#define NUTAG_SMIME_KEY_ENCRYPTION(x)
 S/MIME key encryption algorithm.
#define NUTAG_SMIME_MESSAGE_ENCRYPTION(x)
 S/MIME message encryption algorithm.
#define NUTAG_CERTIFICATE_DIR(x)
 x.500 certificate directory
#define NUTAG_CERTIFICATE_PHRASE(x)
 Certificate phrase.
#define NUTAG_SIPS_URL(x)
 Local SIPS url.
#define NUTAG_PROXY(x)
 Outbound proxy URL.
#define NUTAG_REGISTRAR(x)
 Registrar URL.
#define NUTAG_OUTBOUND(x)
 Outbound option string.
#define NUTAG_SIP_PARSER(x)
 Pointer to SIP parser structure.
#define NUTAG_AUTH(x)
 Authentication data ("scheme" "realm" "user" "password").
#define NUTAG_AUTH_CACHE(x)
 Authentication caching policy.
#define NUTAG_KEEPALIVE(x)
 Keepalive interval in milliseconds.
#define NUTAG_KEEPALIVE_STREAM(x)
 Transport-level keepalive interval for streams.
#define NUTAG_AUTHTIME(x)
 Lifetime of authentication data in seconds.
#define NUTAG_M_DISPLAY(x)
 Display name for Contact.
#define NUTAG_M_USERNAME(x)
 Username prefix for Contact.
#define NUTAG_M_PARAMS(x)
 URL parameters for Contact.
#define NUTAG_M_FEATURES(x)
 Header parameters for registration Contact.
#define NUTAG_EVENT(x)
 NUA event.
#define NUTAG_STATUS(x)
 Response status code.
#define NUTAG_PHRASE(x)
 Response phrase.
#define NUTAG_HANDLE(x)
 NUA Handle.
#define NUTAG_IDENTITY(x)
 Registration handle (used with requests and nua_respond()) (NOT YET IMPLEMENTED).
#define NUTAG_INSTANCE(x)
 Intance identifier.
#define NUTAG_NOTIFY_REFER(x)
 Refer reply handle (used with refer).
#define NUTAG_REFER_EVENT(x)
 Event used with automatic refer notifications.
#define NUTAG_REFER_PAUSE(x)
 Invite pauses referrer's handle.
#define NUTAG_USER_AGENT(x)
 User-Agent string.
#define NUTAG_ALLOW(x)
 Allow a method (or methods).
#define NUTAG_APPL_METHOD(x)
 Indicate that a method (or methods) are handled by application.
#define NUTAG_SUPPORTED(x)
 Support a feature.
#define NUTAG_ALLOW_EVENTS(x)
 Allow an event or events.
#define NUTAG_CALLSTATE(x)
 Call state.
#define NUTAG_SUBSTATE(x)
 Subscription state.
#define NUTAG_NEWSUB(x)
 Send unsolicited NOTIFY request.
#define NUTAG_REFER_EXPIRES(x)
 Default lifetime for implicit subscriptions created by REFER.
#define NUTAG_REFER_WITH_ID(x)
 Always use id parameter with refer event.
#define NUTAG_MEDIA_FEATURES(x)
 Add media tags from our offer to Accept-Contact headers.
#define NUTAG_CALLEE_CAPS(x)
 Add methods and media tags to Contact headers.
#define NUTAG_PATH_ENABLE(x)
 If true, add "path" to Supported in REGISTER.
#define NUTAG_SERVICE_ROUTE_ENABLE(x)
 Use route from Service-Route header in response to REGISTER.
#define NUTAG_MEDIA_ENABLE(x)
 Enable built-in media session handling.
#define NUTAG_OFFER_RECV(x)
 Indicate that SDP offer has been received.
#define NUTAG_ANSWER_RECV(x)
 Indicate that SDP answer has been received.
#define NUTAG_OFFER_SENT(x)
 Indicate that SDP offer has been sent.
#define NUTAG_ANSWER_SENT(x)
 Indicate that SDP answer has been sent.
#define NUTAG_DETECT_NETWORK_UPDATES(x)
 Enable detection of local IP address updates.

Typedefs

typedef nua_s nua_t
 NUA agent.
typedef 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.

Define Documentation

#define NUTAG_ADDRESS (  ) 

Address as a string.

Deprecated:
Not used.
Parameter type
char const *
Values
String in form "name <url>"
Corresponding tag taking reference parameter is NUTAG_ADDRESS_REF()

#define NUTAG_ALLOW (  ) 

Allow a method (or methods).

This tag is used to add a new method to the already existing set of allowed methods. If you want to ignore the existing set of allowed methods, use SIPTAG_ALLOW_STR() or SIPTAG_ALLOW().

The set of allowed methods is added to the Allow header in the response or request messages. For incoming request, an error response 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 (  ) 

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

Indicate that SDP answer has been received.

Used with
nua_i_state
Parameter type
boolean
Corresponding tag taking reference parameter is NUTAG_ANSWER_RECV_REF()

#define NUTAG_ANSWER_SENT (  ) 

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

Indicate that a method (or methods) are handled by application.

This tag is used to add a new method to the already existing set of methods handled by application, or clear the set. If you want to determine the set explicitly, include NUTAG_APPL_METHOD() twice, first with NULL and then with your supported set.

The default set of application methods now include INVITE, REGISTER, PUBLISH and SUBSCRIBE.

If the request method is in the set of methods handled by application, the nua stack does not automatically respond to the incoming request nor it will automatically send such a request. Note if the application adds the PRACK and UPDATE requests to the set of application methods it must also take care for sending the PRACK and UPDATE requests during the call setup when necessary.

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

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

Authentication caching policy.

Used with
nua_set_params(), nua_set_hparams()
nua_get_params(), nua_get_hparams()
nua_invite(), nua_respond(), nua_ack(), nua_prack(), nua_update(), nua_info(), nua_bye(), nua_options(), nua_message(), nua_register(), nua_publish(), nua_refer(),nua_subscribe(), nua_notify(), nua_refer(), 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 (  ) 

Lifetime of authentication data in seconds.

Used with
Currently not processed by NUA
Parameter type
unsigned int
Values
0 Use authentication data only for this handle
!=0 Lifetime in seconds
Corresponding tag taking reference parameter is NUTAG_AUTHTIME_REF()

#define NUTAG_AUTOACK (  ) 

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
Values
0 No automatic sending of ACK
!=0 ACK sent automatically
Default value is NUTAG_AUTOACK(1).

Corresponding tag taking reference parameter is NUTAG_AUTOACK_REF()

#define NUTAG_AUTOALERT (  ) 

Send alerting (180 Ringing) automatically.

Used with
nua_set_params()
nua_get_params()
Parameter type
int
Values
0 No automatic sending of "180 Ringing"
!=0 "180 Ringing" sent automatically
Corresponding tag taking reference parameter is NUTAG_AUTOALERT_REF()

#define NUTAG_AUTOANSWER (  ) 

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)
Values
0 No automatic sending of "200 Ok"
!=0 "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_CALLSTATE (  ) 

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

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

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

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

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)
Values
0 False
!=0 True
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 (  ) 

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

Used with
nua_set_params()
nua_get_params()
nua_set_hparams()
nua_get_hparams()
nua_invite()
nua_respond()
Parameter type
int (boolean)
Values
0 False
!=0 True
See also:
NUTAG_EARLY_ANWER()
Corresponding tag taking reference parameter is NUTAG_EARLY_MEDIA_REF()

#define NUTAG_ENABLEINVITE (  ) 

Enable incoming INVITE.

Used with
nua_set_params()
nua_get_params()
Parameter type
int
Values
0 Incoming INVITE not enabled. NUA answers 403 Forbidden
!=0 Incoming INVITE enabled
Corresponding tag taking reference parameter is NUTAG_ENABLEINVITE_REF()

#define NUTAG_ENABLEMESSAGE (  ) 

Enable incoming MESSAGE.

Used with
nua_set_params()
nua_get_params()
Parameter type
int
Values
0 Incoming MESSAGE not enabled. NUA answers 403 Forbidden
!=0 Incoming MESSAGE enabled
Corresponding tag taking reference parameter is NUTAG_ENABLEMESSAGE_REF()

#define NUTAG_ENABLEMESSENGER (  ) 

Enable incoming MESSAGE with To tag.

Set this parameter if you want to chat with Windows Messenger.

Used with
nua_set_params()
nua_get_params()
Parameter type
int
Values
0 False
!=0 True
Corresponding tag taking reference parameter is NUTAG_ENABLEMESSENGER_REF()

#define NUTAG_EVENT (  ) 

NUA event.

Deprecated:
Parameter type
enum nua_event_e
Values
Corresponding tag taking reference parameter is NUTAG_EVENT_REF()

#define NUTAG_HANDLE (  ) 

NUA Handle.

Deprecated:
Parameter type
nua_handle_t *
Values
Corresponding tag taking reference parameter is NUTAG_HANDLE_REF()

#define NUTAG_IDENTITY (  ) 

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

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)
Values
0 False
!=0 True
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_INSTANCE (  ) 

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

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

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

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

Display name for Contact.

Specify display name for the Contact header URI generated for registration request and dialog-creating requests/responses.

Note that display name is not included the request-URI when proxy forwards 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
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 (  ) 

Header parameters for registration Contact.

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

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

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

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

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
!=0 True
Corresponding tag taking reference parameter is NUTAG_MEDIA_ENABLE_REF()

#define NUTAG_MEDIA_FEATURES (  ) 

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

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

Used with
nua_invite()
nua_update()
nua_set_params()
nua_get_params()
Parameter type
int
Values
0 Do not add media tags
!=0 Add media tags
Corresponding tag taking reference parameter is NUTAG_MEDIA_FEATURES_REF()

See also:
nua_invite(), SOATAG_USER_SDP(), SIPTAG_ACCEPT_CONTACT(), NUTAG_CALLEE_CAPS()

#define NUTAG_METHOD (  ) 

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

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

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 NUTAG_NEWSUB(1) is included in the nua_notify() the usage is create the usage by itself.

If you want to create a subscription that does not terminate immediately include SIPTAG_SUBSCRIPTION_STATE_STR() with an "expires" parameter in the argument list, too.

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

Since:

New in 1.12.5.

#define NUTAG_NOTIFY_REFER (  ) 

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

Indicate that SDP offer has been received.

Used with
nua_i_state
Parameter type
boolean
Corresponding tag taking reference parameter is NUTAG_OFFER_RECV_REF()

#define NUTAG_OFFER_SENT (  ) 

Indicate that SDP offer has been sent.

Used with
nua_i_state
Parameter type
boolean
Corresponding tag taking reference parameter is NUTAG_OFFER_SENT_REF()

#define NUTAG_ONLY183_100REL (  ) 

Respond only 183 with 100rel.

If this parameter is set, stack uses 100rel only with 183: otherwise, all 1XX responses (except 100 Trying) uses 100rel.

Used with
nua_set_params()
nua_get_params()
nua_set_hparams()
nua_get_hparams()
nua_invite()
nua_respond()
Parameter type
int (boolean)
Values
0 False
!=0 True
Corresponding tag taking reference parameter is NUTAG_ONLY183_100REL_REF()

#define NUTAG_OUTBOUND (  ) 

Outbound option string.

The outbound option string can specify how the NAT traversal is handled. The option tokens are as follows:

An option token with "no-" or "not-" prefix turns the option off. For example, if you want to try to traverse NATs but not to use OPTIONS keepalive, use NUTAG_OUTBOUND("natify no-options-keepalive").

An empty string can be passed to let the stack choose the default values for outbound usage (in the 1.12.5 release, the defaults are: "gruuize no-outbound validate use-port options-keepalive").

Note:
Options string is used so that no new tags need to be added when the outbound functionality changes.
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 (  ) 

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

See also:
RFC 3327, "SIP Extension Header Field for Registering Non-Adjacent Contacts", D. Willis, B. Hoeneisen, December 2002.

#define NUTAG_PHRASE (  ) 

Response phrase.

Deprecated:
Parameter type
char const *
Values.
Corresponding tag taking reference parameter is NUTAG_PHRASE_REF()

#define NUTAG_PROXY (  ) 

Outbound proxy URL.

Same tag as NTATAG_DEFAULT_PROXY()

Used with
nua_set_params()
nua_get_params()
nua_create()
Parameter type
url_string_t const * (either char const * or url_t *)
Values
Corresponding tag taking reference parameter is NUTAG_PROXY_REF()

#define NUTAG_REFER_EVENT (  ) 

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

Default lifetime for implicit subscriptions created by REFER.

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

Used with
nua_set_params()
nua_get_params()
nua_set_hparams()
nua_get_hparams()
Parameter type
unsigned int
Values
0 disable
>0 interval in seconds
Corresponding tag taking reference parameter is NUTAG_REFER_EXPIRES()

#define NUTAG_REFER_PAUSE (  ) 

Invite pauses referrer's handle.

When creating a call in response to a REFER [RFC3515] request, the application can ask that the original call will be muted when the new call is connected by specifying NUTAG_REFER_PAUSE() along with NUTAG_NOTIFY_REFER() as a parameter to nua_invite() call.

Used with
nua_invite()
Parameter type
int
Values
0 False
!=0 True
Corresponding tag taking reference parameter is NUTAG_REFER_PAUSE_REF()

Deprecated:
Not implemented.

#define NUTAG_REFER_WITH_ID (  ) 

Always use id parameter with refer event.

When an incoming REFER creates an implicit subscription, the event header in the NOTIFY request may have an id parameter. The id parameter can be either always included (default behavior), or the parameter can be used only for the second and subsequent REFER requests received in a given dialog.

Note that once the subscription is created, the event header should not be modified. Therefore this tag has no effect on already established subscriptions, and its use makes sense largely on nua_set_params() only.

Used with
nua_set_params() (nua_set_hparams(), nua_invite(), nua_respond(), nua_update()).
Parameter type
int (boolean)
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_REGISTRAR (  ) 

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

Set request retry count.

Retry count determines how many times stack will automatically retry after an recoverable error response, like 302, 401 or 407.

Used with
nua_set_params(), nua_set_hparams()
nua_get_params(), nua_get_hparams()
nua_invite(), nua_ack()
Parameter type
unsigned
Values
0 Never retry automatically
Since:
New in 1.12.4.
Corresponding tag taking reference parameter is NUTAG_RETRY_COUNT_REF()

#define NUTAG_SERVICE_ROUTE_ENABLE (  ) 

Use route from Service-Route header in response to REGISTER.

See also:
RFC 3327, "SIP Extension Header Field for Registering Non-Adjacent Contacts", D. Willis, B. Hoeneisen, December 2002.

#define NUTAG_SESSION_REFRESHER (  ) 

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

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

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

Pointer to SIP parser structure.

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

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

Enable S/MIME.

Used with
nua_create()
nua_set_params()
nua_get_params()
Parameter type
boolean
Values
0 S/MIME is Disabled
!=0 S/MIME is Enabled
Corresponding tag taking reference parameter is NUTAG_SMIME_ENABLE_REF()

#define NUTAG_SMIME_KEY_ENCRYPTION (  ) 

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

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

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

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

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

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

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

#define NUTAG_STATUS (  ) 

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

Subscription state.

Used with
nua_notify()
nua_r_subscribe
nua_i_notify
nua_i_subscribe
nua_r_notify
nua_notify()
nua_respond() to SUBSCRIBE
Parameter type
int
Values
Note that the Subscription-State or Expires headers specified by application 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_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 (  ) 

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

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
boolean
Values
1 Use UPDATE
0 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_UPDATE_REFRESH(), RFC 4028, Session-Expires, Min-SE

#define NUTAG_URL (  ) 

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

See also:
SIPTAG_TO()
Corresponding tag taking reference parameter is NUTAG_URL_REF()

#define NUTAG_USE_DIALOG (  ) 

Ask NUA to create dialog for this handle.

Used with nua calls that send a SIP request
Parameter type
int
Values
False (zero)
True (nonzero)
Corresponding tag taking reference parameter is NUTAG_USE_DIALOG_REF()

#define NUTAG_USER_AGENT (  ) 

User-Agent string.

Indicate the User-Agent header used by the stack. The value set with this tag is concatenated with the value indicating the stack name and version, e.g., "sofia-sip/1.12.1" unless the stack name "sofia-sip" followed by slash is already included in the string. The concatenated value is returned in SIPTAG_USER_AGENT_STR() and NUTAG_USER_AGENT() when nua_get_params() is called.

If you want to set the complete string, use SIPTAG_USER_AGENT_STR() or SIPTAG_USER_AGENT().

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

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:
NUTAG_WITH_THIS(), NUTAG_WITH_SAVED()

#define NUTAG_WITH_SAVED (  ) 

Specify request to respond to.

Used with
nua_respond()
Parameter type
msg_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:
nua_save_event(), NUTAG_WITH(), NUTAG_WITH_SAVED()


Enumeration Type Documentation

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.

enum nua_callstate

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.

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

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

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.


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