Martti Mela <Martti.Mela@nokia-email.address.hidden>
#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 NUTAG_ADDRESS | ( | x | ) |
Address as a string.
#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_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.
0
Use authentication data only for this handle !=0
Lifetime 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.
0
No automatic sending of ACK !=0
ACK sent automaticallyCorresponding tag taking reference parameter is NUTAG_AUTOACK_REF()
#define NUTAG_AUTOALERT | ( | x | ) |
Send alerting (180 Ringing) automatically.
0
No automatic sending of "180 Ringing" !=0
"180 Ringing" sent automatically#define NUTAG_AUTOANSWER | ( | x | ) |
Answer (with 200 Ok) automatically to incoming call.
0
No automatic sending of "200 Ok" !=0
"200 Ok" sent automatically
#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.
0
False !=0
True
#define NUTAG_EARLY_MEDIA | ( | x | ) |
Establish early media session using 100rel, 183 responses and PRACK.
0
False !=0
True#define NUTAG_ENABLEINVITE | ( | x | ) |
Enable incoming INVITE.
0
Incoming INVITE not enabled. NUA answers 403 Forbidden !=0
Incoming INVITE enabled#define NUTAG_ENABLEMESSAGE | ( | x | ) |
Enable incoming MESSAGE.
0
Incoming MESSAGE not enabled. NUA answers 403 Forbidden !=0
Incoming MESSAGE enabled#define NUTAG_ENABLEMESSENGER | ( | x | ) |
Enable incoming MESSAGE with To tag.
Set this parameter if you want to chat with Windows Messenger.
0
False !=0
True#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.
0
False !=0
True
#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.
0
no timer >0
timer in seconds#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 display name is not included the request-URI when proxy forwards the request towards user-agent.
#define NUTAG_M_FEATURES | ( | x | ) |
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.
#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.
0
Do not allow any subscriptions #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.
0
False !=0
True#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 our the media capabilities in soa.
0
Do not add media tags !=0
Add media tags
#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 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.
New in 1.12.5.
#define NUTAG_NOTIFY_REFER | ( | x | ) |
Refer reply handle (used with refer).
When making a call in response to a REFER request [RFC3515] with nua_invite(), the application can ask NUA to automatically generate notifications about the call progress to the referrer. In order to do that the application should pass to the stack the handle, which it used to receive the REFER request. It should also pass the event header object along with the handle using NUTAG_REFER_EVENT().
#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 | ) |
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.
0
False !=0
True#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.
0
disable >0
interval in seconds#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.
0
False !=0
True
#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_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.
0
Never retry automatically #define NUTAG_SERVICE_ROUTE_ENABLE | ( | x | ) |
Use route from Service-Route header in response to REGISTER.
#define NUTAG_SESSION_REFRESHER | ( | x | ) |
Specify the preferred refresher.
Specify for session timer extension which party is the preferred refresher.
nua_no_refresher
(session timers are disabled) nua_local_refresher
nua_remote_refresher
nua_any_refresher
(default)
#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.
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.
0
disable >0
interval in seconds
#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.
0
S/MIME is Disabled !=0
S/MIME is Enabled#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.
-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#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
-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#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_SUBSTATE | ( | x | ) |
Subscription state.
Corresponding tag taking reference parameter is NUTAG_SUBSTATE_REF()
#define NUTAG_SUPPORTED | ( | x | ) |
Support a feature.
This tag is used to add a new feature to the existing set of supported SIP features. If you want to ignore the existing set of supported features, use SIPTAG_SUPPORTED_STR() or SIPTAG_SUPPORTED().
The set of supported features is added to the Supported header in the response or request messages. For incoming requests, an error response 420 Bad Extension is automatically returned if the request requires features that are not included in the supported feature set.
#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.
1
Use UPDATE 0
Use INVITE
#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().
#define NUTAG_USE_DIALOG | ( | x | ) |
Ask NUA to create dialog for this handle.
False
(zero) True
(nonzero)#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.
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().
enum nua_substate nua_substate_make | ( | char const * | sip_substate | ) |
char const* nua_substate_name | ( | enum nua_substate | substate | ) |