Tags for Sofia-SIP User Agent Library
#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>
Defines | |
#define | NUTAG_ANY() |
Filter tag matching any nua tag. | |
#define | NUTAG_URL(x) |
URL address from application to NUA. | |
#define | NUTAG_WITH(x) |
Specify request to respond to. | |
#define | NUTAG_WITH_THIS(nua) |
Specify request to respond to. | |
#define | NUTAG_WITH_SAVED(e) |
Specify request to respond to. | |
#define | NUTAG_DIALOG(b) |
An (extension) method is used to create dialog or refresh target. | |
#define | NUTAG_METHOD(x) |
Extension method name. | |
#define | NUTAG_METHOD_REF(x) |
Reference tag for NUTAG_METHOD(). | |
#define | NUTAG_MAX_SUBSCRIPTIONS(x) |
Set maximum number of simultaneous subscribers per single event server. | |
#define | NUTAG_MAX_SUBSCRIPTIONS_REF(x) |
Reference tag for NUTAG_MAX_SUBSCRIPTIONS(). | |
#define | NUTAG_USE_DIALOG(x) |
Ask NUA to create dialog for this handle. | |
#define | NUTAG_USE_DIALOG_REF(x) |
Reference tag for NUTAG_USE_DIALOG(). | |
#define | NUTAG_RETRY_COUNT(x) |
Set request retry count. | |
#define | NUTAG_RETRY_COUNT_REF(x) |
Reference tag for NUTAG_RETRY_COUNT(). | |
#define | NUTAG_SOA_NAME(x) |
Name for SDP Offer-Answer session object. | |
#define | NUTAG_SOA_NAME_REF(x) |
Reference tag for NUTAG_SOA_NAME(). | |
#define | NUTAG_EARLY_MEDIA(x) |
Establish early media session using 100rel, 183 responses and PRACK. | |
#define | NUTAG_EARLY_MEDIA_REF(x) |
Reference tag for NUTAG_EARLY_MEDIA(). | |
#define | NUTAG_ONLY183_100REL(x) |
Require 100rel extension and PRACK only with 183 response. | |
#define | NUTAG_ONLY183_100REL_REF(x) |
Reference tag for NUTAG_ONLY183_100REL(). | |
#define | NUTAG_EARLY_ANSWER(x) |
Establish early media session by including SDP answer in 1XX response. | |
#define | NUTAG_EARLY_ANSWER_REF(x) |
Reference tag for NUTAG_EARLY_ANSWER(). | |
#define | NUTAG_INCLUDE_EXTRA_SDP(x) |
Include an extra copy of SDP answer in the response. | |
#define | NUTAG_INCLUDE_EXTRA_SDP_REF(x) |
Reference tag for NUTAG_INCLUDE_EXTRA_SDP(). | |
#define | NUTAG_INVITE_TIMER(x) |
Timer for outstanding INVITE in seconds. | |
#define | NUTAG_INVITE_TIMER_REF(x) |
Reference tag for NUTAG_INVITE_TIMER(). | |
#define | NUTAG_SESSION_TIMER(x) |
Default session timer in seconds. | |
#define | NUTAG_SESSION_TIMER_REF(x) |
Reference tag for NUTAG_SESSION_TIMER(). | |
#define | NUTAG_MIN_SE(x) |
Minimum acceptable refresh interval for session. | |
#define | NUTAG_MIN_SE_REF(x) |
Reference tag for NUTAG_MIN_SE(). | |
#define | NUTAG_SESSION_REFRESHER(x) |
Specify the preferred refresher. | |
#define | NUTAG_SESSION_REFRESHER_REF(x) |
Reference tag for NUTAG_SESSION_REFRESHER(). | |
#define | NUTAG_UPDATE_REFRESH(x) |
Use UPDATE as refresh method. | |
#define | NUTAG_UPDATE_REFRESH_REF(x) |
Reference tag for NUTAG_UPDATE_REFRESH(). | |
#define | NUTAG_REFRESH_WITHOUT_SDP(x) |
Do not send offer in response if re-INVITE was received without SDP. | |
#define | NUTAG_REFRESH_WITHOUT_SDP_REF(x) |
Reference tag for NUTAG_REFRESH_WITHOUT_SDP_REF(). | |
#define | NUTAG_AUTOALERT(x) |
Send alerting (180 Ringing) automatically (instead of 100 Trying). | |
#define | NUTAG_AUTOALERT_REF(x) |
Reference tag for NUTAG_AUTOALERT(). | |
#define | NUTAG_AUTOACK(x) |
ACK automatically. | |
#define | NUTAG_AUTOACK_REF(x) |
Reference tag for NUTAG_AUTOACK(). | |
#define | NUTAG_AUTOANSWER(x) |
Answer (with 200 Ok) automatically to incoming call. | |
#define | NUTAG_AUTOANSWER_REF(x) |
Reference tag for NUTAG_AUTOANSWER(). | |
#define | NUTAG_ENABLEINVITE(x) |
Enable incoming INVITE. | |
#define | NUTAG_ENABLEINVITE_REF(x) |
Reference tag for NUTAG_ENABLEINVITE(). | |
#define | NUTAG_ENABLEMESSAGE(x) |
Enable incoming MESSAGE. | |
#define | NUTAG_ENABLEMESSAGE_REF(x) |
Reference tag for NUTAG_ENABLEMESSAGE(). | |
#define | NUTAG_ENABLEMESSENGER(x) |
Enable incoming MESSAGE with To tag. | |
#define | NUTAG_ENABLEMESSENGER_REF(x) |
Reference tag for NUTAG_ENABLEMESSENGER(). | |
#define | NUTAG_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 SIP parser structure. | |
#define | NUTAG_SIP_PARSER_REF(x) |
Reference tag for NUTAG_SIP_PARSER(). | |
#define | NUTAG_AUTH(x) |
Authentication data ("scheme" "realm" "user" "password"). | |
#define | NUTAG_AUTH_REF(x) |
Reference tag for NUTAG_AUTH(). | |
#define | NUTAG_AUTH_CACHE(x) |
Authentication caching policy. | |
#define | NUTAG_AUTH_CACHE_REF(x) |
Reference tag for NUTAG_AUTH_CACHE(). | |
#define | NUTAG_KEEPALIVE(x) |
Keepalive interval in milliseconds. | |
#define | NUTAG_KEEPALIVE_REF(x) |
Reference tag for NUTAG_KEEPALIVE(). | |
#define | NUTAG_KEEPALIVE_STREAM(x) |
Transport-level keepalive interval for streams. | |
#define | NUTAG_KEEPALIVE_STREAM_REF(x) |
Reference tag for NUTAG_KEEPALIVE_STREAM(). | |
#define | NUTAG_AUTHTIME(x) |
Lifetime of authentication data in seconds. | |
#define | NUTAG_AUTHTIME_REF(x) |
Reference tag for NUTAG_AUTHTIME(). | |
#define | NUTAG_M_DISPLAY(x) |
Display name for Contact. | |
#define | NUTAG_M_DISPLAY_REF(x) |
Reference tag for NUTAG_M_DISPLAY(). | |
#define | NUTAG_M_USERNAME(x) |
Username prefix for Contact. | |
#define | NUTAG_M_USERNAME_REF(x) |
Reference tag for NUTAG_M_USERNAME(). | |
#define | NUTAG_M_PARAMS(x) |
URL parameters for Contact. | |
#define | NUTAG_M_PARAMS_REF(x) |
Reference tag for NUTAG_M_PARAMS(). | |
#define | NUTAG_M_FEATURES(x) |
Header parameters for Contact used in registration. | |
#define | NUTAG_M_FEATURES_REF(x) |
Reference tag for NUTAG_M_FEATURES(). | |
#define | NUTAG_EVENT(x) |
NUA event. | |
#define | NUTAG_EVENT_REF(x) |
Reference tag for NUTAG_EVENT(). | |
#define | NUTAG_STATUS(x) |
Response status code. | |
#define | NUTAG_STATUS_REF(x) |
Reference tag for NUTAG_STATUS(). | |
#define | NUTAG_PHRASE(x) |
Response phrase. | |
#define | NUTAG_PHRASE_REF(x) |
Reference tag for NUTAG_PHRASE(). | |
#define | NUTAG_HANDLE(x) |
NUA Handle. | |
#define | NUTAG_HANDLE_REF(x) |
Reference tag for NUTAG_HANDLE(). | |
#define | NUTAG_IDENTITY(x) |
Registration handle (used with requests and nua_respond()) (NOT YET IMPLEMENTED). | |
#define | NUTAG_IDENTITY_REF(x) |
Reference tag for NUTAG_IDENTITY(). | |
#define | NUTAG_INSTANCE(x) |
Intance identifier. | |
#define | NUTAG_INSTANCE_REF(x) |
Reference tag for NUTAG_INSTANCE(). | |
#define | NUTAG_NOTIFY_REFER(x) |
Refer reply handle (used with refer). | |
#define | NUTAG_NOTIFY_REFER_REF(x) |
Reference tag for NUTAG_NOTIFY_REFER(). | |
#define | NUTAG_REFER_EVENT(x) |
Event used with automatic refer notifications. | |
#define | NUTAG_REFER_EVENT_REF(x) |
Reference tag for NUTAG_REFER_EVENT(). | |
#define | NUTAG_REFER_PAUSE(x) |
Invite pauses referrer's handle. | |
#define | NUTAG_REFER_PAUSE_REF(x) |
Reference tag for NUTAG_REFER_PAUSE(). | |
#define | NUTAG_USER_AGENT(x) |
User-Agent string. | |
#define | NUTAG_USER_AGENT_REF(x) |
Reference tag for NUTAG_USER_AGENT(). | |
#define | NUTAG_ALLOW(x) |
Allow a method (or methods). | |
#define | NUTAG_ALLOW_REF(x) |
Reference tag for NUTAG_ALLOW(). | |
#define | NUTAG_APPL_METHOD(x) |
Indicate that a method (or methods) are handled by application. | |
#define | NUTAG_APPL_METHOD_REF(x) |
Reference tag for NUTAG_APPL_METHOD(). | |
#define | NUTAG_SUPPORTED(x) |
Support a feature. | |
#define | NUTAG_SUPPORTED_REF(x) |
Reference tag for NUTAG_SUPPORTED(). | |
#define | NUTAG_ALLOW_EVENTS(x) |
Allow an event or events. | |
#define | NUTAG_ALLOW_EVENTS_REF(x) |
Reference tag for NUTAG_ALLOW_EVENTS(). | |
#define | NUTAG_CALLSTATE(x) |
Call state. | |
#define | NUTAG_CALLSTATE_REF(x) |
Reference tag for NUTAG_CALLSTATE(). | |
#define | NUTAG_SUBSTATE(x) |
Subscription state. | |
#define | NUTAG_SUBSTATE_REF(x) |
Reference tag for NUTAG_SUBSTATE(). | |
#define | NUTAG_SUB_EXPIRES(x) |
Default expiration time of subscriptions. | |
#define | NUTAG_SUB_EXPIRES_REF(x) |
Reference tag for NUTAG_SUB_EXPIRES(). | |
#define | NUTAG_NEWSUB(x) |
Send unsolicited NOTIFY request. | |
#define | NUTAG_NEWSUB_REF(x) |
Reference tag for NUTAG_NEWSUB(). | |
#define | NUTAG_REFER_EXPIRES(x) |
Default lifetime for implicit subscriptions created by REFER. | |
#define | NUTAG_REFER_EXPIRES_REF(x) |
Reference tag for NUTAG_REFER_EXPIRES(). | |
#define | NUTAG_REFER_WITH_ID(x) |
Always use id parameter with refer event. | |
#define | NUTAG_REFER_WITH_ID_REF(x) |
Reference tag for NUTAG_REFER_WITH_ID(). | |
#define | NUTAG_MEDIA_FEATURES(x) |
Add media tags from our offer to Accept-Contact headers. | |
#define | NUTAG_MEDIA_FEATURES_REF(x) |
Reference tag for NUTAG_MEDIA_FEATURES(). | |
#define | NUTAG_CALLEE_CAPS(x) |
Add methods parameter and media feature parameter to the Contact headers generated for REGISTER request. | |
#define | NUTAG_CALLEE_CAPS_REF(x) |
Reference tag for NUTAG_CALLEE_CAPS(). | |
#define | NUTAG_PATH_ENABLE(x) |
If true, add "path" to Supported in REGISTER. | |
#define | NUTAG_PATH_ENABLE_REF(x) |
Reference tag for NUTAG_PATH_ENABLE(). | |
#define | NUTAG_SERVICE_ROUTE_ENABLE(x) |
Use route taken from the Service-Route header in the 200 class response to REGISTER. | |
#define | NUTAG_SERVICE_ROUTE_ENABLE_REF(x) |
Reference tag for NUTAG_SERVICE_ROUTE_ENABLE(). | |
#define | NUTAG_MEDIA_ENABLE(x) |
Enable built-in media session handling. | |
#define | NUTAG_MEDIA_ENABLE_REF(x) |
Reference tag for NUTAG_MEDIA_ENABLE(). | |
#define | NUTAG_OFFER_RECV(x) |
Indicate that SDP offer has been received. | |
#define | NUTAG_OFFER_RECV_REF(x) |
Reference tag for NUTAG_OFFER_RECV(). | |
#define | NUTAG_ANSWER_RECV(x) |
Indicate that SDP answer has been received. | |
#define | NUTAG_ANSWER_RECV_REF(x) |
Reference tag for NUTAG_ANSWER_RECV(). | |
#define | NUTAG_OFFER_SENT(x) |
Indicate that SDP offer has been sent. | |
#define | NUTAG_OFFER_SENT_REF(x) |
Reference tag for NUTAG_OFFER_SENT(). | |
#define | NUTAG_ANSWER_SENT(x) |
Indicate that SDP answer has been sent. | |
#define | NUTAG_ANSWER_SENT_REF(x) |
Reference tag for NUTAG_ANSWER_SENT(). | |
#define | NUTAG_DETECT_NETWORK_UPDATES(x) |
Enable detection of local IP address updates. | |
#define | NUTAG_DETECT_NETWORK_UPDATES_REF(x) |
Reference tag for NUTAG_DETECT_NETWORK_UPDATES(). | |
#define | NUTAG_SHUTDOWN_EVENTS(x) |
Allow passing of normal events when stack is being shut down. | |
#define | NUTAG_SHUTDOWN_EVENTS_REF(x) |
Reference tag for NUTAG_SHUTDOWN_EVENTS(). | |
Typedefs | |
typedef struct nua_s | nua_t |
NUA agent. | |
typedef struct nua_handle_s | nua_handle_t |
NUA transaction handle. | |
Enumerations | |
enum | nua_session_refresher { nua_no_refresher, nua_local_refresher, nua_remote_refresher, nua_any_refresher } |
Enumeration type of NUTAG_SESSION_REFRESHER(). More... | |
enum | nua_auth_cache { nua_auth_cache_dialog, nua_auth_cache_challenged } |
Authentication caching policy. More... | |
enum | nua_callstate { nua_callstate_init, nua_callstate_authenticating, nua_callstate_calling, nua_callstate_proceeding, nua_callstate_completing, nua_callstate_received, nua_callstate_early, nua_callstate_completed, nua_callstate_ready, nua_callstate_terminating, nua_callstate_terminated } |
The states for SIP session established with INVITE. More... | |
enum | nua_substate { nua_substate_extended, nua_substate_embryonic, nua_substate_pending, nua_substate_active, nua_substate_terminated } |
Parameter type of NUTAG_SUBSTATE(). More... | |
Functions | |
char const * | nua_callstate_name (enum nua_callstate state) |
Get name for NUA call state. | |
char const * | nua_substate_name (enum nua_substate substate) |
Return name of subscription state. | |
enum nua_substate | nua_substate_make (char const *sip_substate) |
Convert string to enum nua_substate. | |
Variables | |
tag_type_t | nua_tag_list [] |
List of all NUA tags. |
#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.
#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.
#define NUTAG_ANSWER_RECV | ( | x | ) |
Indicate that SDP answer has been received.
#define NUTAG_ANSWER_SENT | ( | x | ) |
Indicate that SDP answer has been sent.
#define NUTAG_ANY | ( | ) |
Filter tag matching any nua tag.
#define NUTAG_APPL_METHOD | ( | x | ) |
Indicate that a method (or methods) are handled by application.
This tag is used to add a new method to the already existing set of methods handled by application, or clear the set. If you want to determine the set explicitly, include NUTAG_APPL_METHOD() twice, first with NULL and then with your supported set.
The default set of application methods now include INVITE, REGISTER, PUBLISH and SUBSCRIBE.
If the request method is in the set of methods handled by application, the nua stack does not automatically respond to the incoming request nor it will automatically send such a request. Note if the application adds the PRACK and UPDATE requests to the set of application methods it must also take care for sending the PRACK and UPDATE requests during the call setup when necessary.
#define NUTAG_AUTH | ( | x | ) |
Authentication data ("scheme" "realm" "user" "password").
Digest:"nokia proxy":xyz:secret
#define NUTAG_AUTH_CACHE | ( | x | ) |
Authentication caching policy.
#define NUTAG_AUTHTIME | ( | x | ) |
Lifetime of authentication data in seconds.
#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.
#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.
#define NUTAG_AUTOANSWER | ( | x | ) |
Answer (with 200 Ok) automatically to incoming call.
#define NUTAG_CALLEE_CAPS | ( | x | ) |
Add methods parameter and media feature parameter to the Contact headers generated for REGISTER request.
#define NUTAG_CALLSTATE | ( | x | ) |
Call state.
#define NUTAG_CERTIFICATE_DIR | ( | x | ) |
X.500 certificate directory.
#define NUTAG_CERTIFICATE_PHRASE | ( | x | ) |
Certificate phrase.
#define NUTAG_DETECT_NETWORK_UPDATES | ( | x | ) |
Enable detection of local IP address updates.
#define NUTAG_DIALOG | ( | b | ) |
An (extension) method is used to create dialog or refresh target.
#define NUTAG_EARLY_ANSWER | ( | x | ) |
Establish early media session by including SDP answer in 1XX response.
#define NUTAG_EARLY_MEDIA | ( | x | ) |
Establish early media session using 100rel, 183 responses and PRACK.
#define NUTAG_ENABLEINVITE | ( | x | ) |
Enable incoming INVITE.
#define NUTAG_ENABLEMESSAGE | ( | x | ) |
Enable incoming MESSAGE.
#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.
#define NUTAG_EVENT | ( | x | ) |
NUA event.
#define NUTAG_HANDLE | ( | x | ) |
NUA Handle.
#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.
#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.
#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().
#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.
#define NUTAG_INSTANCE | ( | x | ) |
Intance identifier.
#define NUTAG_INVITE_TIMER | ( | x | ) |
Timer for outstanding INVITE in seconds.
INVITE will be canceled if no answer is received before timer expires.
#define NUTAG_KEEPALIVE | ( | x | ) |
Keepalive interval in milliseconds.
This setting applies to OPTIONS/STUN keepalives. See documentation for nua_register() for more detailed information.
#define NUTAG_KEEPALIVE_STREAM | ( | x | ) |
Transport-level keepalive interval for streams.
See documentation for nua_register() for more detailed information.
Corresponding tag taking reference parameter is NUTAG_KEEPALIVE_STREAM_REF().
#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.
#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.
#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.
#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.
#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.
#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.
#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.
#define NUTAG_METHOD | ( | x | ) |
Extension method name.
Specify extension method name with nua_method() function.
#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.
#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.
#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().
#define NUTAG_OFFER_RECV | ( | x | ) |
Indicate that SDP offer has been received.
#define NUTAG_OFFER_SENT | ( | x | ) |
Indicate that SDP offer has been sent.
#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.
#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:
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").
#define NUTAG_PATH_ENABLE | ( | x | ) |
If true, add "path" to Supported in REGISTER.
#define NUTAG_PHRASE | ( | x | ) |
Response phrase.
#define NUTAG_PROXY | ( | x | ) |
Outbound proxy URL.
Same tag as NTATAG_DEFAULT_PROXY()
#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.
#define NUTAG_REFER_EXPIRES | ( | x | ) |
Default lifetime for implicit subscriptions created by REFER.
Default expiration time in seconds for implicit subscriptions created by REFER.
#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.
#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.
#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.
#define NUTAG_REGISTRAR | ( | x | ) |
Registrar URL.
#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.
#define NUTAG_SERVICE_ROUTE_ENABLE | ( | x | ) |
Use route taken from the Service-Route header in the 200 class response to REGISTER.
#define NUTAG_SESSION_REFRESHER | ( | x | ) |
Specify the preferred refresher.
Specify for session timer extension which party is the preferred refresher.
#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.
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.
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.
#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().
#define NUTAG_SIP_PARSER | ( | x | ) |
Pointer to SIP parser structure.
#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.
#define NUTAG_SMIME_ENABLE | ( | x | ) |
Enable S/MIME.
#define NUTAG_SMIME_KEY_ENCRYPTION | ( | x | ) |
S/MIME key encryption algorithm.
This tag specifies the key encryption algorithm to be used by S/MIME.
#define NUTAG_SMIME_MESSAGE_DIGEST | ( | x | ) |
S/MIME digest algorithm.
This tag specifies the message digest algorithm to be used in S/MIME.
#define NUTAG_SMIME_MESSAGE_ENCRYPTION | ( | x | ) |
S/MIME message encryption algorithm.
This tag specifies the message encryption algorithm to be used in S/MIME.
#define NUTAG_SMIME_OPT | ( | x | ) |
S/MIME Options.
This tag specifies the type of S/MIME security services requested by the user.
#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
#define NUTAG_SMIME_SIGNATURE | ( | x | ) |
S/MIME signature algorithm.
This tag specifies the signature algorithm to be used in S/MIME.
#define NUTAG_SOA_NAME | ( | x | ) |
Name for SDP Offer-Answer session object.
SDP Offer-Answer session object name.
#define NUTAG_STATUS | ( | x | ) |
Response status code.
#define NUTAG_SUB_EXPIRES | ( | x | ) |
Default expiration time of subscriptions.
#define NUTAG_SUBSTATE | ( | x | ) |
Subscription state.
#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.
#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.
#define NUTAG_URL | ( | x | ) |
URL address from application to NUA.
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().
#define NUTAG_USE_DIALOG | ( | x | ) |
Ask NUA to create dialog for this handle.
#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().
#define NUTAG_WITH | ( | x | ) |
Specify request to respond to.
#define NUTAG_WITH_SAVED | ( | e | ) |
Specify request to respond to.
#define NUTAG_WITH_THIS | ( | nua | ) |
Specify request to respond to.
typedef struct nua_handle_s nua_handle_t |
NUA transaction handle.
typedef struct nua_s nua_t |
NUA agent.
enum nua_auth_cache |
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().
+----------+ | |---------------------+ | 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 | | | +----------+
Enumeration type of NUTAG_SESSION_REFRESHER().
enum nua_substate |
Parameter type of NUTAG_SUBSTATE().
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.
enum nua_substate nua_substate_make | ( | char const * | sip_substate | ) |
char const* nua_substate_name | ( | enum nua_substate | substate | ) |
Return name of subscription state.
List of all NUA tags.