Defines | Variables

sofia-sip/nta_tag.h File Reference

NTA tags. More...

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

Go to the source code of this file.

Defines

#define NTA_TAG_H
 Defined when <sofia-sip/nta_tag.h> has been included.
#define NTATAG_ANY()
 Filter tag matching any nta tag.
#define NTATAG_MCLASS(x)
 Message class used by NTA.
#define NTATAG_BAD_REQ_MASK(x)
 Mask for bad request messages.
#define NTATAG_BAD_RESP_MASK(x)
 Mask for bad response messages.
#define NTATAG_DEFAULT_PROXY(x)
 URL for (default) proxy.
#define NTATAG_CONTACT(x)
 Contact used by NTA.
#define NTATAG_TARGET(x)
 Dialog target (contact) used by NTA.
#define NTATAG_ALIASES(x)
 Aliases used by NTA.
#define NTATAG_BRANCH_KEY(x)
 Branch ID to the topmost Via header.
#define NTATAG_ACK_BRANCH(x)
 Branch of the transaction to ACK.
#define NTATAG_COMP(x)
 Compression algorithm.
#define NTATAG_MSG(x)
 Pass a SIP message to treply()/tcreate() functions.
#define NTATAG_TPORT(x)
 Pass a transport object.
#define NTATAG_REMOTE_CSEQ(x)
 Remote CSeq number.
#define NTATAG_SMIME(x)
 Provide S/MIME context to NTA.
#define NTATAG_MAXSIZE(x)
 Maximum size of incoming message.
#define NTATAG_UDP_MTU(x)
 Maximum size of outgoing UDP request.
#define NTATAG_MAX_PROCEEDING(x)
 Maximum size of proceeding queue.
#define NTATAG_MAX_FORWARDS(x)
 Default value for Max-Forwards header.
#define NTATAG_SIP_T1(x)
 Initial retransmission interval (in milliseconds).
#define NTATAG_SIP_T1X64(x)
 Transaction timeout (defaults to T1 * 64).
#define NTATAG_SIP_T2(x)
 Maximum retransmission interval (in milliseconds).
#define NTATAG_SIP_T4(x)
 Transaction lifetime (in milliseconds).
#define NTATAG_PROGRESS(x)
 Progress timer for User-Agents (interval for retranmitting 1XXs).
#define NTATAG_TIMER_C(x)
 Value for timer C in milliseconds.
#define NTATAG_GRAYLIST(x)
 Avoid failed servers.
#define NTATAG_BLACKLIST(x)
 Add Retry-After header to error responses returned to application.
#define NTATAG_DEBUG_DROP_PROB(x)
 Packet drop probability for debugging.
#define NTATAG_SIGCOMP_OPTIONS(x)
 Semicolon-separated SigComp options.
#define NTATAG_SIGCOMP_CLOSE(x)
 Close SigComp compartment after completing transaction.
#define NTATAG_SIGCOMP_AWARE(x)
 Indicate that the application is SigComp-aware.
#define NTATAG_SIGCOMP_ALGORITHM(x)
 Specify SigComp algorithm.
#define NTATAG_UA(x)
 If true, NTA acts as User Agent Server or Client by default.
#define NTATAG_STATELESS(x)
 Enable stateless processing.
#define NTATAG_USER_VIA(x)
 Allow application to insert Via headers.
#define NTATAG_EXTRA_100(x)
 Respond with "100 Trying" if application has not responded.
#define NTATAG_PASS_100(x)
 Pass "<i>100 Trying</i>" provisional answers to the application.
#define NTATAG_TIMEOUT_408(x)
 Generate "408 Request Timeout" response when request times out.
#define NTATAG_PASS_408(x)
 Pass "408 Request Timeout" responses to the client.
#define NTATAG_NO_DIALOG(x)
 Create a leg without dialog.
#define NTATAG_MERGE_482(x)
 Merge requests, send 482 to other requests.
#define NTATAG_CANCEL_2543(x)
 Follow RFC 2543 semantics with CANCEL.
#define NTATAG_CANCEL_408(x)
 Do not send a CANCEL but just timeout the request.
#define NTATAG_TAG_3261(x)
 When responding to requests, use unique tags.
#define NTATAG_USE_TIMESTAMP(x)
 Use Timestamp header.
#define NTATAG_METHOD(x)
 Method name.
#define NTATAG_CANCEL_487(x)
 When a CANCEL is received, automatically return 487 response to original request.
#define NTATAG_REL100(x)
 Include rel100 in INVITE requests.
#define NTATAG_SIPFLAGS(x)
 Set SIP parser flags.
#define NTATAG_CLIENT_RPORT(x)
 Enable client-side "rport".
#define NTATAG_SERVER_RPORT(x)
 Use rport parameter at server.
#define NTATAG_TCP_RPORT(x)
 Use rport with TCP, too.
#define NTATAG_TLS_RPORT(x)
 Use rport with TLS, too.
#define NTATAG_PRELOAD(x)
 Preload by N bytes.
#define NTATAG_USE_NAPTR(x)
 If true, try to use NAPTR records when resolving.
#define NTATAG_USE_SRV(x)
 If true, try to use SRV records when resolving.
#define NTATAG_RSEQ(x)
 RSeq value for nta_outgoing_prack().
#define NTATAG_S_IRQ_HASH_REF(x)
 Get size of hash table for server-side transactions.
#define NTATAG_S_ORQ_HASH_REF(x)
 Get size of hash table for client-side transactions.
#define NTATAG_S_LEG_HASH_REF(x)
 Get size of hash table for dialogs.
#define NTATAG_S_IRQ_HASH_USED_REF(x)
 Get number of server-side transactions in the hash table.
#define NTATAG_S_ORQ_HASH_USED_REF(x)
 Get number of client-side transactions in the hash table.
#define NTATAG_S_LEG_HASH_USED_REF(x)
 Get number of dialogs in the hash table.
#define NTATAG_S_RECV_MSG_REF(x)
 Get number of SIP messages received.
#define NTATAG_S_RECV_REQUEST_REF(x)
 Get number of SIP requests received.
#define NTATAG_S_RECV_RESPONSE_REF(x)
 Get number of SIP responses received.
#define NTATAG_S_BAD_MESSAGE_REF(x)
 Get number of bad SIP messages received.
#define NTATAG_S_BAD_REQUEST_REF(x)
 Get number of bad SIP requests received.
#define NTATAG_S_BAD_RESPONSE_REF(x)
 Get number of bad SIP responses received.
#define NTATAG_S_DROP_REQUEST_REF(x)
 Get number of SIP requests dropped.
#define NTATAG_S_DROP_RESPONSE_REF(x)
 Get number of SIP responses dropped.
#define NTATAG_S_CLIENT_TR_REF(x)
 Get number of client transactions created.
#define NTATAG_S_SERVER_TR_REF(x)
 Get number of server transactions created.
#define NTATAG_S_DIALOG_TR_REF(x)
 Get number of in-dialog server transactions created.
#define NTATAG_S_ACKED_TR_REF(x)
 Get number of server transactions that have received ACK.
#define NTATAG_S_CANCELED_TR_REF(x)
 Get number of server transactions that have been CANCELed.
#define NTATAG_S_TRLESS_REQUEST_REF(x)
 Get number of requests that were processed stateless.
#define NTATAG_S_TRLESS_TO_TR_REF(x)
 Get number of requests converted to transactions by message callback.
#define NTATAG_S_TRLESS_RESPONSE_REF(x)
 Get number of responses without matching request.
#define NTATAG_S_TRLESS_200_REF(x)
 Get number of successful responses missing INVITE client transaction.
#define NTATAG_S_MERGED_REQUEST_REF(x)
 Get number of requests merged by UAS.
#define NTATAG_S_SENT_MSG_REF(x)
 Get number of SIP messages sent by stack.
#define NTATAG_S_SENT_REQUEST_REF(x)
 Get number of SIP requests sent by stack.
#define NTATAG_S_SENT_RESPONSE_REF(x)
 Get number of SIP responses sent by stack.
#define NTATAG_S_RETRY_REQUEST_REF(x)
 Get number of SIP requests retransmitted by stack.
#define NTATAG_S_RETRY_RESPONSE_REF(x)
 Get number of SIP responses retransmitted by stack.
#define NTATAG_S_RECV_RETRY_REF(x)
 Get number of retransmitted SIP requests received by stack.
#define NTATAG_S_TOUT_REQUEST_REF(x)
 Get number of SIP client transactions that has timeout.
#define NTATAG_S_TOUT_RESPONSE_REF(x)
 Get number of SIP server transactions that has timeout.

Variables

tag_type_t nta_tag_list []
 List of all nta tags.

Detailed Description

NTA tags.

Author:
Pekka Pessi <Pekka.Pessi@nokia-email.address.hidden>
Date:
Created: Tue Sep 4 15:54:57 2001 ppessi

Define Documentation

#define NTA_TAG_H

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

#define NTATAG_ACK_BRANCH (   x  ) 

Branch of the transaction to ACK.

When creating a ACK transaction, the application should provide the branch parameter from the original transaction to the stack. The ACK transaction object then receives all the retransmitted 2XX responses to the original INVITE transaction.

Used with
nta_outgoing_mcreate(), nta_outgoing_tcreate()
Parameter type
string
Value
  • "branch" ID used to store the ACK transaction in the nta hash table for outgoing client transaction
Default Value
  • The INVITE transaction is looked from the hash table using the Call-ID, CSeq, From and To tags and its branch ID is used
#define NTATAG_ALIASES (   x  ) 

Aliases used by NTA.

Deprecated:
#define NTATAG_ANY (  ) 

Filter tag matching any nta tag.

#define NTATAG_BAD_REQ_MASK (   x  ) 

Mask for bad request messages.

If an incoming request has erroneous headers matching with the mask, nta automatically returns a 400 Bad Message response to them.

If mask ~0U (all bits set) is specified, all requests with any bad header are dropped. By default only the requests with bad headers essential for request processing or proxying are dropped.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
unsigned int
Values
Default Value
  • sip_mask_response | sip_mask_ua | sip_mask_100rel |
    sip_mask_events | sip_mask_timer | sip_mask_publish The following headers are considered essential by default:
  • Request Line "request line"", @ref sip_from "From", @ref sip_to "To", @ref sip_cseq "CSeq", @ref sip_call_id "Call-ID", @ref sip_content_length "Content-Length", @ref sip_via "Via", @ref sip_content_type "Content-Type", @ref sip_content_disposition "Content-Disposition", @ref sip_content_encoding "Content-Encoding", @ref sip_supported "Supported", @ref sip_contact "Contact", @ref sip_require "Require", @ref sip_record_route "Record-Route", @ref sip_rack "RAck", @ref sip_rseq "RSeq", @ref sip_event "Event", @ref sip_expires "Expires", @ref sip_subscription_state "Subscription-State", @ref sip_session_expires "Session-Expires", @ref sip_min_se "Min-SE", @ref sip_etag "SIP-ETag", and @ref sip_if_match "SIP-If-Match".
See also:
enum sip_bad_mask, NTATAG_BAD_RESP_MASK()
#define NTATAG_BAD_RESP_MASK (   x  ) 

Mask for bad response messages.

If an incoming response has erroneous headers matching with the mask, nta drops the response message.

If mask ~0U (all bits set) is specified, all responses with any bad header are dropped. By default only the responses with bad headers essential for response processing or proxying are dropped.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
unsigned int
Values
See also:
enum sip_bad_mask, NTATAG_BAD_REQ_MASK()
Default Value
  • sip_mask_response | sip_mask_ua | sip_mask_100rel |
    sip_mask_events | sip_mask_timer | sip_mask_publish The following headers are considered essential by default:
  • Status Line "status line"", @ref sip_from "From", @ref sip_to "To", @ref sip_cseq "CSeq", @ref sip_call_id "Call-ID", @ref sip_content_length "Content-Length", @ref sip_via "Via", @ref sip_content_type "Content-Type", @ref sip_content_disposition "Content-Disposition", @ref sip_content_encoding "Content-Encoding", @ref sip_supported "Supported", @ref sip_contact "Contact", @ref sip_require "Require", @ref sip_record_route "Record-Route", @ref sip_rack "RAck", @ref sip_rseq "RSeq", @ref sip_event "Event", @ref sip_expires "Expires", @ref sip_subscription_state "Subscription-State", @ref sip_session_expires "Session-Expires", @ref sip_min_se "Min-SE", @ref sip_etag "SIP-ETag", and @ref sip_if_match "SIP-If-Match".
#define NTATAG_BLACKLIST (   x  ) 

Add Retry-After header to error responses returned to application.

The NTATAG_BLACKLIST() provides a default value for Retry-After header added to the internally generated responses such as 503 DNS Error or 408 Timeout. The idea is that the application can retain its current state and retry the operation after a while.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
unsigned int
Values
  • Value of delta-seconds in Retry-After header, from 0 to 86400
Default Value
See also:
NTATAG_TIMEOUT_408()
#define NTATAG_BRANCH_KEY (   x  ) 

Branch ID to the topmost Via header.

The NTA generates a random branch ID for the topmost Via header by default. The application can the branch by itself, for intance, if it wants to create a RFC 2543-era transaction.

Note that according to RFC 3261 the branch ID must start with "z9hG4bK".

Used with
nta_outgoing_mcreate(), nta_outgoing_tcreate(), nta_outgoing_tcancel(), nta_outgoing_prack(), nta_msg_tsend()
Parameter type
string
Value
  • The "branch" ID to to insert into topmost Via header of the request to be sent
Default Value
  • A token is generated, either by random when a client transaction is created or by hashing the headers and contents of the request when request is sent statelessly
See also:
RFC 3261 section 8.1.1.7
#define NTATAG_CANCEL_2543 (   x  ) 

Follow RFC 2543 semantics with CANCEL.

By default, the nta follows "<a href="http://tools.ietf.org/html3261">RFC 3261</a>" semantics when CANCELing a request. The CANCEL does not terminate transaction, rather, it is just a hint to the server that it should respond immediately (with 487 Request Terminated if it has no better response). Also, if the original request was sent over unreliable transport such as UDP, the CANCEL is delayed until the server has sent a preliminary response to the original request.

If NTATAG_CANCEL_2543(1) is given, the transaction is canceled immediately internally (a 487 response is generated locally) and the CANCEL request is sent without waiting for an provisional response.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params() nta_outgoing_tcancel()
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
  • true - follow "RFC 2543" semantics with CANCEL
  • false - follow "RFC 3261" semantics with CANCEL
See also:
NTATAG_CANCEL_408()
#define NTATAG_CANCEL_408 (   x  ) 

Do not send a CANCEL but just timeout the request.

Calling nta_outgoing_tcancel() with this tag set marks request as canceled but does not actually send a CANCEL request. If NTATAG_CANCEL_2543(1) is also included, a 487 response is generated internally.

Used with
nta_outgoing_tcancel()
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
  • true - do not send CANCEL
  • false - let request to timeout
See also:
NTATAG_CANCEL_2543()
#define NTATAG_CANCEL_487 (   x  ) 

When a CANCEL is received, automatically return 487 response to original request.

When the CANCEL is received for an ongoing server transaction nta_incoming_t, the stack will automatically return a 487 Request Terminated response to the client after returning from the nta_incoming_f callback bound to the transaction with nta_incoming_bind()

The application can delay sending the response to the original request when NTATAG_CANCEL_408(0) is used. This is useful, for instance, with a proxy that forwards the CANCEL downstream and the forwards the response back to upstream.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
  • true - respond automatically to the CANCELed transaction
  • false - application takes care of responding
See also:
NTATAG_CANCEL_2543(), nta_incoming_bind()
#define NTATAG_CLIENT_RPORT (   x  ) 

Enable client-side "rport".

This tag controls RFC 3581 support on client side. The "rport" parameter is used when the response has to be routed symmetrically through a NAT box.

The client-side support involves just adding the "rport" parameter to the topmost Via header before the request is sent.

Note:
By default, the client "rport" is disabled when nta is used, and enabled when nua is used.
Used with
nua_create() (nua uses NTATAG_CLIENT_RPORT(1) by default)
nta_agent_create()
nta_agent_set_params()
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
  • true - add "rport" parameter
  • false - do not add "rport" parameter
Note:
The NTATAG_RPORT() is a synonym for this.
See also:
RFC 3581, NTATAG_SERVER_RPORT(), NTATAG_TCP_RPORT(), NTATAG_TLS_RPORT(), Via
#define NTATAG_COMP (   x  ) 

Compression algorithm.

Set compression algorithm for request as described in RFC 3486.

Note:
This tag is has no effect without a compression plugin.
Used with
nta_outgoing_mcreate(), nta_outgoing_tcreate(), nta_outgoing_tcancel(), nta_outgoing_prack(), nta_msg_tsend()
Note that NTATAG_COMP(NULL) can be used with nta_incoming_set_params() and nta_incoming_treply(), too. It indicates that the response is sent uncompressed, no matter what the client has in comp parameter of Via header.
Parameter type
string
Values
  • name of the compression algorithm
Default Value
  • "sigcomp"
See also:
RFC 3320, RFC 3486, TPTAG_COMPARTMENT(), NTATAG_SIGCOMP_ALGORITHM(), NTATAG_SIGCOMP_AWARE(), NTATAG_SIGCOMP_CLOSE(), NTATAG_SIGCOMP_OPTIONS()
#define NTATAG_DEBUG_DROP_PROB (   x  ) 

Packet drop probability for debugging.

The packet drop probability parameter is useful mainly for debugging purposes. The stack drops an incoming message received over an unreliable transport (such as UDP) with the given probability. The range is in 0 .. 1000, 500 means p=0.5.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
unsigned integer
Values
  • Valid values are in range 0 ... 1000
  • Probablity to drop a given message is value / 1000.
Default Value
  • 0 (no packets are dropped)
See also:
TPTAG_DEBUG_DROP()
#define NTATAG_DEFAULT_PROXY (   x  ) 

URL for (default) proxy.

The requests are sent towards the default outbound proxy regardless the values of request-URI or Route headers in the request. The URL of the default proxy is not added to the request in the Route header or in the request-URI (against the recommendation of RFC 3261 section 8.1.2).

The outbound proxy set by NTATAG_DEFAULT_PROXY() is used even if the dialog had an established route set or registration provided User-Agent with a Service-Route set.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params(), nta_outgoing_mcreate(), nta_outgoing_tcreate(), nta_outgoing_tcancel(), nta_outgoing_prack(), nta_msg_tsend()
Parameter type
Pointer to a url_t structure or a string containg a SIP or SIPS URI
Values
  • Valid SIP or SIPS URI
#define NTATAG_EXTRA_100 (   x  ) 

Respond with "100 Trying" if application has not responded.

As per recommended by RFC 4320, the stack can generate a 100 Trying response to the non-INVITE requests if the application has not responded to a request within half of the SIP T2 (the default value for T2 is 4000 milliseconds, so the extra 100 Trying would be sent after 2 seconds).

At agent level, this option applies to retransmissions of both non-INVITE and INVITE transactions.

At incoming request level, this option can disable sending the 100 Trying for both retransmissions (if set at agent level) and N1 firings, for just a given incoming request.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params(), nta_incoming_set_params()
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
  • true - send extra 100 Trying if application does not respond
  • false - do not send 100 Trying
Default Value at Agent level
  • 0 (false, do not respond with 100 Trying to retransmissions)
Default Value at incoming transaction level
  • 1 (true, respond with 100 Trying to retransmissions and when N1 fired)
See also:
RFC 4320, NTATAG_PASS_408(), NTATAG_TIMEOUT_408()
#define NTATAG_GRAYLIST (   x  ) 

Avoid failed servers.

The NTATAG_GRAYLIST() provides the time that the servers are avoided after a request sent to them has been failed. Avoiding means that if a domain provides multiple servers, the failed servers are tried last.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
unsigned int
Values
  • Number of seconds that server is kept in graylist, from 0 to 86400.
Default Value
  • 600 (graylist server for 10 minutes)
See also:
NTATAG_BLACKLIST(), NTATAG_TIMEOUT_408()
Since:
New in 1.12.8
#define NTATAG_MAX_FORWARDS (   x  ) 

Default value for Max-Forwards header.

The default value of Max-Forwards header added to the requests. The initial value recommended by RFC 3261 is 70, but usually SIP proxies use much lower default value, such as 24.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
unsigned
Values
  • Default value added to the Max-Forwards header in the sent requests
Default Value
  • 70 (hops)
Since:
New in 1.12.2.
#define NTATAG_MAX_PROCEEDING (   x  ) 

Maximum size of proceeding queue.

If the size of the proceedng message queue would exceed the given limit, the stack will automatically respond with 503 Service Unavailable.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
Values
  • Maximum acceptable size of a queue (size_t).
Since:
New in 1.12.9
#define NTATAG_MAXSIZE (   x  ) 

Maximum size of incoming message.

If the size of an incoming request message would exceed the given limit, the stack will automatically respond with 413 Request Entity Too Large.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
Values
  • Maximum acceptable size of an incoming request message.
Default Value
  • 2097152 (bytes or 2 megabytes)
See also:
msg_maxsize(), NTATAG_UDP_MTU()
#define NTATAG_MCLASS (   x  ) 

Message class used by NTA.

The nta can use a custom or extended parser created with msg_mclass_clone().

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
pointer to msg_mclass_t.
Values
Default Value
See also:
NTATAG_SIPFLAGS()
#define NTATAG_MERGE_482 (   x  ) 

Merge requests, send 482 to other requests.

If an User-Agent receives a duplicate request with same Call-ID, CSeq, From tag but different topmost Via header (see RFC 3261 section 8.2.2.2 Merged Requests), it should return 482 Request Merged response to the duplicate request. Such a duplicate request has been originally generated by a forking proxy and usually routed via different route to the User-Agent. The User-Agent should only respond meaningfully to the first request and return the 482 response to the following forked requests.

Note that also NTATAG_UA(1) should be set before nta detects merges and responds with 482 to them.

Note:
If your application is an multi-lined user-agent, you may consider disabling request merging. However, you have to somehow handle merging within a single line.
Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
  • true - detect duplicate requests and respond with 482 to them
  • false - process duplicate requests separately
See also:
NTATAG_UA(1)
#define NTATAG_METHOD (   x  ) 

Method name.

Create a dialogless nta_leg_t object matching only requests with the specified method.

Used with
nta_leg_tcreate()
Parameter type
String containing method name.
Values
  • A SIP method name (e.g., "SUBSCRIBE").
Default Value
  • None (i.e., all requests methods match with the leg)
#define NTATAG_MSG (   x  ) 

Pass a SIP message to treply()/tcreate() functions.

Used with
nta_outgoing_tcreate(), nta_incoming_treply()
Parameter type
msg_t
Values
  • A message object which will be completed, serialized and encoded. Note that the functions modify directly the message.
Default Value
  • A new message object is created and populated by the function call.
See also:
msg_copy(), msg_dup(), msg_create(), sip_default_mclass()
#define NTATAG_NO_DIALOG (   x  ) 

Create a leg without dialog.

#define NTATAG_PASS_100 (   x  ) 

Pass "<i>100 Trying</i>" provisional answers to the application.

By default, the stack silently processes the 100 Trying responses from the server. Usually the 100 Trying responses are not important to the application but rather sent by the outgoing proxy immediately after it has received the request. However, the application can ask nta for them by setting NTATAG_PASS_100(1) if, for instance, the 100 Trying responses are needed for user feedback.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params(), nta_outgoing_mcreate(), nta_outgoing_tcreate(), nta_outgoing_tcancel(), nta_outgoing_prack(), nta_msg_tsend()
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
  • true - pass 100 Trying to application
  • false - silently process 100 Trying responses
Default Value
  • 0 (false, save application from seeing 100 Trying)
See also:
NTATAG_EXTRA_100(), NTATAG_DEFAULT_PROXY()
#define NTATAG_PASS_408 (   x  ) 

Pass "408 Request Timeout" responses to the client.

As per recommended by RFC 4320, the 408 Request Timeout responses to non-INVITE transaction are not sent over the network to the client by default. The application can ask stack to pass the 408 responses with NTATAG_PASS_408(1).

Note that unlike NTATAG_PASS_100(), this tags changes the way server side works.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
  • true - pass superfluous 408 responses
  • false - discard superfluous 408 responses
See also:
RFC 4320, NTATAG_EXTRA_100(), NTATAG_TIMEOUT_408()
#define NTATAG_PRELOAD (   x  ) 

Preload by N bytes.

When the memory block is allocated for an incoming request by the stack, the stack can allocate some extra memory for the parser in addition to the memory used by the actual message contents.

While wasting some memory, this can speed up parsing considerably. Recommended amount of preloading per packet is 1500 bytes.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
unsigned
Values
Amount of extra per-message memory allocated for parser.
See also:
NTATAG_SIPFLAGS() and MSG_FLG_EXTRACT_COPY
#define NTATAG_PROGRESS (   x  ) 

Progress timer for User-Agents (interval for retranmitting 1XXs).

The UAS should retransmit preliminary responses to the INVITE transactions every minute in order to re-set the timer C within the intermediate proxies.

The default value for the progress timer is 60000.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
unsigned int
Values
Value of progress timer in milliseconds.
Default Value
  • 90000 (milliseconds, 1.5 minutes)
See also:
RFC 3261 sections 13.3.1.1, 16.7 and 16.8, NTATAG_TIMER_C(), NTATAG_SIP_T1(), NTATAG_SIP_T1X4(), NTATAG_SIP_T2(), NTATAG_SIP_T4()
#define NTATAG_REL100 (   x  ) 

Include rel100 in INVITE requests.

Include feature tag "100rel" in Supported header of the INVITE requests.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
  • true - include "100rel"
  • false - do not include "100rel"
See also:
nta_outgoing_prack(), nta_reliable_treply(), nta_reliable_mreply()
#define NTATAG_REMOTE_CSEQ (   x  ) 

Remote CSeq number.

Specify remote command sequence number for a nta_leg_t dialog object. If an request is received matching with the dialog but with CSeq number less than the remote sequence number associated with the dialog, a 500 Internal Server Error response is automatically returned to the client.

Used with
nta_leg_tcreate()
Parameter type
  • uint32_t
Values
  • Remote command sequence number
Default Value
  • Initially 0, then determined by the received requests
#define NTATAG_RSEQ (   x  ) 

RSeq value for nta_outgoing_prack().

Used with
nta_outgoing_prack()
Parameter type
unsigned int
Values
Response sequence number from the RSeq header.
#define NTATAG_S_ACKED_TR_REF (   x  ) 

Get number of server transactions that have received ACK.

Return number of INVITE server transactions for which an ACK request has been received.

See also:
nta_agent_get_stats(), NTATAG_S_SERVER_TR_REF(), NTATAG_S_CANCELED_TR_REF()
#define NTATAG_S_BAD_MESSAGE_REF (   x  ) 

Get number of bad SIP messages received.

Return number of bad SIP messages that has been received.

See also:
nta_agent_get_stats(), NTATAG_S_RECV_MSG_REF(), NTATAG_S_BAD_REQUEST_REF(), NTATAG_S_BAD_RESPONSE_REF().
#define NTATAG_S_BAD_REQUEST_REF (   x  ) 

Get number of bad SIP requests received.

Return number of bad SIP requests that has been received.

See also:
nta_agent_get_stats(), NTATAG_S_BAD_MESSAGE_REF(), NTATAG_S_BAD_RESPONSE_REF().
#define NTATAG_S_BAD_RESPONSE_REF (   x  ) 

Get number of bad SIP responses received.

Return number of bad SIP responses that has been received.

See also:
nta_agent_get_stats(), NTATAG_S_BAD_MESSAGE_REF(), NTATAG_S_BAD_REQUEST_REF()
#define NTATAG_S_CANCELED_TR_REF (   x  ) 

Get number of server transactions that have been CANCELed.

Return number of server transactions for which an CANCEL request has been received. Currently, the count includes only INVITE server transactions that have been CANCELed.

See also:
nta_agent_get_stats(), NTATAG_S_SERVER_TR_REF(), NTATAG_S_ACKED_TR_REF().
#define NTATAG_S_CLIENT_TR_REF (   x  ) 

Get number of client transactions created.

Return number of client transactions created. The number also includes client transactions with which stack failed to send the request because the DNS resolving failed or the transport failed.

Note:
The number include stateless requests sent with nta_msg_tsend(), too.
See also:
nta_agent_get_stats(), NTATAG_S_SENT_REQUEST_REF(), NTATAG_S_SERVER_TR_REF().
#define NTATAG_S_DIALOG_TR_REF (   x  ) 

Get number of in-dialog server transactions created.

Return number of in-dialog server transactions created. The number includes only those transactions that were correlated with a dialog object.

See also:
nta_agent_get_stats(), NTATAG_S_SERVER_TR_REF(), NTATAG_S_CLIENT_TR_REF(), NTATAG_S_RECV_RESPONSE_REF().
#define NTATAG_S_DROP_REQUEST_REF (   x  ) 

Get number of SIP requests dropped.

Return number of SIP requests that has been randomly dropped after receiving them because of NTATAG_DEBUG_DROP_PROB() has been set.

See also:
nta_agent_get_stats(), NTATAG_DEBUG_DROP_PROB(), NTATAG_S_DROP_RESPONSE_REF()
Note:
The value was not calculated before 1.12.7.
#define NTATAG_S_DROP_RESPONSE_REF (   x  ) 

Get number of SIP responses dropped.

Return number of SIP responses that has been randomly dropped after receiving them because of NTATAG_DEBUG_DROP_PROB() has been set.

See also:
nta_agent_get_stats(), NTATAG_DEBUG_DROP_PROB(), NTATAG_S_DROP_REQUEST_REF()
Note:
The value was not calculated before 1.12.7.
#define NTATAG_S_IRQ_HASH_REF (   x  ) 

Get size of hash table for server-side transactions.

Return number of transactions that fit in the hash table for server-side transactions.

See also:
nta_agent_get_stats(), NTATAG_S_IRQ_HASH_USED_REF(), NTATAG_S_ORQ_HASH_REFxs(), NTATAG_S_LEG_HASH_REF()
#define NTATAG_S_IRQ_HASH_USED_REF (   x  ) 

Get number of server-side transactions in the hash table.

Return number of server-side transactions objects in the hash table. The number includes all transactions destroyed by the application which have not expired yet.

See also:
nta_agent_get_stats(), NTATAG_S_IRQ_HASH_REF(), NTATAG_S_ORQ_HASH_USED_REF(), NTATAG_S_LEG_HASH_USED_REF()
#define NTATAG_S_LEG_HASH_REF (   x  ) 

Get size of hash table for dialogs.

Return number of dialog objects that fit in the hash table for dialogs.

See also:
nta_agent_get_stats(), NTATAG_S_LEG_HASH_USED_REF(), NTATAG_S_IRQ_HASH_REF(), NTATAG_S_ORQ_HASH_REF()
#define NTATAG_S_LEG_HASH_USED_REF (   x  ) 

Get number of dialogs in the hash table.

Return number of dialog objects in the hash table. Note that the nta_leg_t objects created with NTATAG_NO_DIALOG(1) and this not corresponding to a dialog are not included in the number.

See also:
nta_agent_get_stats(), NTATAG_S_LEG_HASH_REF(), NTATAG_S_IRQ_HASH_USED_REF(), NTATAG_S_ORQ_HASH_USED_REF()
#define NTATAG_S_MERGED_REQUEST_REF (   x  ) 

Get number of requests merged by UAS.

Return number of requests for which UAS already has returned a response and which were merged (that is, returned a 482 Request Merged response).

See also:
nta_agent_get_stats(), NTATAG_UA(1), RFC 3261 section 8.2.2.2
#define NTATAG_S_ORQ_HASH_REF (   x  ) 

Get size of hash table for client-side transactions.

Return number of transactions that fit in the hash table for client-side transactions.

See also:
nta_agent_get_stats(), NTATAG_S_ORQ_HASH_USED_REF(), NTATAG_S_IRQ_HASH_REF(), NTATAG_S_LEG_HASH_REF()
#define NTATAG_S_ORQ_HASH_USED_REF (   x  ) 

Get number of client-side transactions in the hash table.

Return number of client-side transactions objects in the hash table. The number includes all transactions destroyed by the application which have not expired yet.

See also:
nta_agent_get_stats(), NTATAG_S_ORQ_HASH_REF(), NTATAG_S_IRQ_HASH_USED_REF(), NTATAG_S_LEG_HASH_USED_REF()
#define NTATAG_S_RECV_MSG_REF (   x  ) 

Get number of SIP messages received.

Return number SIP messages that has been received. The number includes also bad and unparsable messages.

See also:
nta_agent_get_stats(), NTATAG_S_BAD_MESSAGE_REF(), NTATAG_S_RECV_REQUEST_REF(), NTATAG_S_RECV_RESPONSE_REF()
#define NTATAG_S_RECV_REQUEST_REF (   x  ) 

Get number of SIP requests received.

Return number SIP requests that has been received. The number includes also number of bad requests available with NTATAG_S_BAD_REQUEST_REF().

See also:
nta_agent_get_stats(), NTATAG_S_BAD_REQUEST_REF(), NTATAG_S_RECV_MSG_REF(), NTATAG_S_RECV_RESPONSE_REF()
#define NTATAG_S_RECV_RESPONSE_REF (   x  ) 

Get number of SIP responses received.

Return number SIP responses that has been received. The number includes also number of bad and unusable responses available with NTATAG_S_BAD_RESPONSE_REF().

See also:
nta_agent_get_stats(), NTATAG_S_BAD_RESPONSE_REF(), NTATAG_S_RECV_MSG_REF(), NTATAG_S_RECV_REQUEST_REF()
#define NTATAG_S_RECV_RETRY_REF (   x  ) 

Get number of retransmitted SIP requests received by stack.

Return number of SIP requests received by the stack. This number only includes retransmission for which a matching server transaction object was found.

See also:
nta_agent_get_stats(), NTATAG_S_RETRY_REQUEST_REF().
#define NTATAG_S_RETRY_REQUEST_REF (   x  ) 

Get number of SIP requests retransmitted by stack.

Return number of SIP requests given to the transport layer for retransmission by the SIP stack. The number includes messages which the transport layer failed to send for different reasons.

See also:
nta_agent_get_stats(), NTATAG_S_SENT_MSG_REF(), NTATAG_S_SENT_REQUEST_REF(), NTATAG_S_RETRY_RESPONSE_REF()
#define NTATAG_S_RETRY_RESPONSE_REF (   x  ) 

Get number of SIP responses retransmitted by stack.

Return number of SIP responses given to the transport layer for retransmission by the SIP stack. The number includes messages which the transport layer failed to send for different reasons.

See also:
nta_agent_get_stats(), NTATAG_S_SENT_MSG_REF(), NTATAG_S_SENT_REQUEST_REF(), NTATAG_S_RETRY_REQUEST_REF()
#define NTATAG_S_SENT_MSG_REF (   x  ) 

Get number of SIP messages sent by stack.

Return number of SIP messages given to the transport layer for transmission by the SIP stack. The number includes also messages which the transport layer failed to send for different reasons.

See also:
nta_agent_get_stats(), NTATAG_S_RECV_MSG_REF(), NTATAG_S_SENT_REQUEST_REF(), NTATAG_S_SENT_RESPONSE_REF()
#define NTATAG_S_SENT_REQUEST_REF (   x  ) 

Get number of SIP requests sent by stack.

Return number of SIP requests given to the transport layer for transmission by the SIP stack. The number includes retransmissions and messages which the transport layer failed to send for different reasons.

See also:
nta_agent_get_stats(), NTATAG_S_RECV_REQUEST_REF(), NTATAG_S_SENT_MSG_REF(), NTATAG_S_SENT_RESPONSE_REF()
#define NTATAG_S_SENT_RESPONSE_REF (   x  ) 

Get number of SIP responses sent by stack.

Return number of SIP responses given to the transport layer for transmission by the SIP stack. The number includes retransmissions and messages which the transport layer failed to send for different reasons.

See also:
nta_agent_get_stats(), NTATAG_S_RECV_RESPONSE_REF(), NTATAG_S_SENT_MSG_REF(), NTATAG_S_SENT_REQUEST_REF()
#define NTATAG_S_SERVER_TR_REF (   x  ) 

Get number of server transactions created.

Return number of server transactions created.

See also:
nta_agent_get_stats(), NTATAG_S_RECV_RESPONSE_REF(), NTATAG_S_CLIENT_TR_REF(), NTATAG_S_DIALOG_TR_REF(),
#define NTATAG_S_TOUT_REQUEST_REF (   x  ) 

Get number of SIP client transactions that has timeout.

Return number of SIP client transactions that has timeout.

See also:
nta_agent_get_stats(), NTATAG_S_TOUT_RESPONSE_REF().
#define NTATAG_S_TOUT_RESPONSE_REF (   x  ) 

Get number of SIP server transactions that has timeout.

Return number of SIP server transactions that has timeout. The number includes only the INVITE transactions for which the stack has received no ACK requests.

See also:
nta_agent_get_stats(), NTATAG_S_TOUT_REQUEST_REF().
#define NTATAG_S_TRLESS_200_REF (   x  ) 

Get number of successful responses missing INVITE client transaction.

Return number of received 2XX responses to INVITE transaction for which no matching client transaction was found nor which were processed by a default client transaction created with nta_outgoing_default() or nta_message_f message callback given to nta_agent_create().

See also:
nta_agent_get_stats(), nta_outgoing_default(), nta_agent_create(), <sofia-sip/nta_stateless.h>, nta_message_f, nta_msg_ackbye(), NTATAG_S_TRLESS_RESPONSE_REF().
#define NTATAG_S_TRLESS_REQUEST_REF (   x  ) 

Get number of requests that were processed stateless.

Return number of received requests that were processed statelessly, either with nta_message_f message callback given with the nta_agent_create() or, missing the callback, by returning a 501 Not Implemented response to the request.

See also:
nta_agent_get_stats(), <sofia-sip/nta_stateless.h>, nta_agent_create(), nta_message_f, NTATAG_S_TRLESS_TO_TR_REF(), NTATAG_S_TRLESS_RESPONSE_REF()
#define NTATAG_S_TRLESS_RESPONSE_REF (   x  ) 

Get number of responses without matching request.

Return number of received responses for which no matching client transaction was found. Such responses are processed either by the client transaction created with nta_outgoing_default(), the nta_message_f message callback given to nta_agent_create(), or, missing both the default client transaction and message callback, they are silently discarded.

The NTATAG_S_TRLESS_200_REF() counter counts those successful 2XX responses to the INVITE without client transaction which are silently discarded.

See also:
nta_agent_get_stats(), nta_outgoing_default(), nta_agent_create(), <sofia-sip/nta_stateless.h>, nta_message_f, nta_msg_ackbye(), NTATAG_S_TRLESS_REQUEST_REF(), NTATAG_S_TRLESS_200_REF().
#define NTATAG_S_TRLESS_TO_TR_REF (   x  ) 

Get number of requests converted to transactions by message callback.

Return number of requests that were converted to a server transaction with nta_incoming_create().

See also:
nta_agent_get_stats(), nta_incoming_create(), nta_agent_create(), nta_message_f, NTATAG_S_TRLESS_REQUEST_REF()
#define NTATAG_SERVER_RPORT (   x  ) 

Use rport parameter at server.

This tag controls RFC 3581 support on server side. The "rport" parameter is used when the response has to be routed symmetrically through a NAT box.

If the topmost Via header has an "rport" parameter, the server stores the port number from which the request was sent in it. When sending the response back to the client, the server uses the port number in the "rport" parameter rather than the client-supplied port number in Via header.

Note that on server-side the port number is stored regardless of the transport protocol. (It is assumed that client supports rport if it includes "rport" parameter in Via field).

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
  • 2 - add "rport" parameter even if was not present in request
  • 1 - use "rport" parameter (default)
  • 0 - do not use "rport" parameter
See also:
RFC 3581, NTATAG_CLIENT_RPORT(), NTATAG_TCP_RPORT(), NTATAG_TLS_RPORT(), Via
Since:
Tag type and NTATAG_SERVER_RPORT(2) was added in 1.12.9.
#define NTATAG_SIGCOMP_ALGORITHM (   x  ) 

Specify SigComp algorithm.

Note:
This tag is has no effect without a SigComp plugin.
Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params(), nta_agent_add_tport()
Parameter type
string
Values
  • opaque string passed to the SigComp plugin
See also:
NTATAG_COMP(), NTATAG_SIGCOMP_AWARE(), NTATAG_SIGCOMP_CLOSE(), NTATAG_SIGCOMP_OPTIONS(), RFC 3320
#define NTATAG_SIGCOMP_AWARE (   x  ) 

Indicate that the application is SigComp-aware.

Note:
This tag is has no effect without a SigComp plugin.
Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
  • true - application takes care of compartment management
  • false - stack manages compartments
See also:
NTATAG_COMP(), NTATAG_SIGCOMP_ALGORITHM(), NTATAG_SIGCOMP_CLOSE(), NTATAG_SIGCOMP_OPTIONS(), RFC 3320
#define NTATAG_SIGCOMP_CLOSE (   x  ) 

Close SigComp compartment after completing transaction.

Note:
This tag is has no effect without a SigComp plugin.
Used with
nta_incoming_set_params(), nta_incoming_treply() nta_outgoing_mcreate(), nta_outgoing_tcreate(), nta_outgoing_tmcreate(), nta_outgoing_tcancel(), nta_outgoing_prack(), nta_msg_tsend(), nta_msg_treply()
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
  • true - application takes care of compartment management
  • false - stack manages compartments
See also:
NTATAG_COMP(), TPTAG_COMPARTMENT(), NTATAG_SIGCOMP_ALGORITHM(), NTATAG_SIGCOMP_AWARE(), NTATAG_SIGCOMP_OPTIONS(), RFC 3320
#define NTATAG_SIGCOMP_OPTIONS (   x  ) 

Semicolon-separated SigComp options.

Note:
This tag is has no effect without a SigComp plugin.
Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params(), nta_agent_add_tport()
Parameter type
string
Values
  • semicolon-separated parameter-value pairs, passed to the SigComp plugin
See also:
NTATAG_COMP(), NTATAG_SIGCOMP_ALGORITHM(), NTATAG_SIGCOMP_AWARE(), NTATAG_SIGCOMP_CLOSE(), RFC 3320
#define NTATAG_SIP_T1 (   x  ) 

Initial retransmission interval (in milliseconds).

Set the T1 retransmission interval used by the SIP transaction engine. The T1 is the initial duration used by request retransmission timers A and E (UDP) as well as response retransmission timer G.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
unsigned int
Values
  • Value of SIP T1 in milliseconds
Default Value
See also:
RFC 3261 appendix A, NTA_SIP_T1, NTATAG_SIP_T1X4(), NTATAG_SIP_T1(), NTATAG_SIP_T4()
#define NTATAG_SIP_T1X64 (   x  ) 

Transaction timeout (defaults to T1 * 64).

Set the T1x64 timeout value used by the SIP transaction engine. The T1x64 is duration used for timers B, F, H, and J (UDP) by the SIP transaction engine. The timeout value T1x64 can be adjusted separately from the initial retransmission interval T1, which is set with NTATAG_SIP_T1().

The default value for T1x64 is 64 times value of T1, or 32000 milliseconds.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
unsigned int
Values
  • Value of T1x64 in milliseconds
Default Value
See also:
RFC 3261 appendix A, NTA_SIP_T1, NTATAG_SIP_T1(), NTATAG_SIP_T2(), NTATAG_SIP_T4()
#define NTATAG_SIP_T2 (   x  ) 

Maximum retransmission interval (in milliseconds).

Set the maximum retransmission interval used by the SIP transaction engine. The T2 is the maximum duration used for the timers E (UDP) and G by the SIP transaction engine. Note that the timer A is not capped by T2. Retransmission interval of INVITE requests grows exponentially until the timer B fires.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
unsigned int
Values
  • Value of SIP T2 in milliseconds
Default Value
See also:
RFC 3261 appendix A, NTA_SIP_T2, NTATAG_SIP_T1(), NTATAG_SIP_T1X4(), NTATAG_SIP_T4()
#define NTATAG_SIP_T4 (   x  ) 

Transaction lifetime (in milliseconds).

Set the lifetime for completed transactions used by the SIP transaction engine. A completed transaction is kept around for the duration of T4 in order to catch late responses. The T4 is the maximum duration for the messages to stay in the network and the duration of SIP timer K.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
unsigned int
Values
  • Value of SIP T4 in milliseconds
Default Value
See also:
RFC 3261 appendix A, NTA_SIP_T4, NTATAG_SIP_T1(), NTATAG_SIP_T1X4(), NTATAG_SIP_T2()
#define NTATAG_SIPFLAGS (   x  ) 

Set SIP parser flags.

The SIP parser flags affect how the messages are parsed and the result presented to the application. They also control encoding of messages. The most important flags are as follows:

  • MSG_FLG_COMPACT - use compact form (single-letter header names, minimum whitespace)
  • MSG_FLG_EXTRACT_COPY - cache printable copy of headers when parsing. Using this flag can speed up proxy processing considerably. It is implied when the parsed messages are logged (because TPORT_LOG environment variable is set, or TPTAG_LOG() is used.
Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
unsigned int
Values
See also:
NTATAG_PRELOAD(), enum msg_flg_user, sip_s::sip_flags
#define NTATAG_SMIME (   x  ) 

Provide S/MIME context to NTA.

Todo:
S/MIME is not implemented.
#define NTATAG_STATELESS (   x  ) 

Enable stateless processing.

Server side
The incoming requests are processed statefully if there is a default leg (created with nta_leg_default()). This option is provided for proxies or other server elements that process requests statelessly.
Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Values
  • true - do not pass incoming requests to default leg
  • false - pass incoming requests to default leg, if it exists
Default Value
  • 0 (false, pass incoming requests to default leg)
Client side
The outgoing requests can be sent statelessly, too, if the NTATAG_STATELESS(1) is included in the tag list of nta_outgoing_tcreate().
Used with
nta_outgoing_mcreate(), nta_outgoing_tcreate(), nta_outgoing_tcancel(), nta_outgoing_prack()
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
  • true - create only a transient nta_outgoing_t transaction object
  • false - create an ordinary client transaction object
Default Value
  • 0 (false, create client transaction)
See also:
NTATAG_IS_UA(), nta_incoming_default(), nta_outgoing_default(), nta_leg_default()
#define NTATAG_TAG_3261 (   x  ) 

When responding to requests, use unique tags.

If set the UA would generate an unique From/To tag for all dialogs. If unset UA would reuse same tag in order to make it easier to re-establish dialog state after a reboot.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
  • true - use different tag for each dialog
  • false - use same tag for all dialogs
See also:
RFC 3261 section 12.2.2
#define NTATAG_TCP_RPORT (   x  ) 

Use rport with TCP, too.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
  • true - include rport parameter in the TCP via line on client side
  • false - do not include rport parameter in the TCP via line on client side
See also:
RFC 3581, NTATAG_CLIENT_RPORT(), NTATAG_SERVER_RPORT(), Via
#define NTATAG_TIMEOUT_408 (   x  ) 

Generate "408 Request Timeout" response when request times out.

This tag is used to prevent stack from generating extra 408 response messages to non-INVITE requests upon timeout. As per recommended by RFC 4320, the 408 Request Timeout responses to non-INVITE transaction are not sent over the network to the client by default. The application can ask stack to pass the 408 responses with NTATAG_PASS_408(1).

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
  • true - generate 408 response
  • false - invoke nta_response_f callback with NULL sip pointer when a non-INVITE transaction times out
See also:
RFC 4320, NTATAG_PASS_408(), NTATAG_EXTRA_100(),
#define NTATAG_TIMER_C (   x  ) 

Value for timer C in milliseconds.

By default the INVITE transaction will not timeout after a preliminary response has been received. However, an intermediate proxy can timeout the transaction using timer C. Timer C is reset every time a response belonging to the transaction is received.

The default value for the timer C is 185000 milliseconds (3 minutes and 5 seconds). By default, timer C is not run on user agents (if NTATAG_UA(1) without NTATAG_TIMER_C() is given).

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
unsigned int
Values
Value of SIP timer C in milliseconds. The default value is used instead if NTATAG_TIMER_C(0) is given.
Default Value
  • 185000 (milliseconds, 3 minutes)
See also:
RFC 3261 sections 13.3.1.1, 16.7 and 16.8, NTATAG_UA(1), NTATAG_TIMER_C(), NTATAG_SIP_T1(), NTATAG_SIP_T1X4(), NTATAG_SIP_T2(), NTATAG_SIP_T4()
Since:
New in 1.12.7.
#define NTATAG_TLS_RPORT (   x  ) 

Use rport with TLS, too.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
  • true - include rport parameter in the TLS via line on client side
  • false - do not include rport parameter in the TLS via line on client side
See also:
RFC 3581, NTATAG_CLIENT_RPORT(), NTATAG_SERVER_RPORT(), Via
Since:
New in 1.12.10
#define NTATAG_TPORT (   x  ) 

Pass a transport object.

The transport object is used to send the request or response message(s).

Used with
nta_outgoing_tcreate(), nta_outgoing_mcreate(), nta_outgoing_tcancel(), nta_incoming_create(), nta_msg_tsend(), nta_msg_mreply()
Parameter type
  • tport_t
Values
  • A pointer to the transport object. Note that a new reference to the transport is created.
Default Value
  • The transport is selected by resolving the outbound URI (specified with NTATAG_DEFAULT_PROXY(), the topmost Route URI or Request-URI.
#define NTATAG_UA (   x  ) 

If true, NTA acts as User Agent Server or Client by default.

When acting as an UA, the NTA stack will

  • respond with 481 to a PRACK request with no matching "100rel" response
  • check for out-of-order CSeq headers for each nta_leg_t dialog object
  • if NTATAG_MERGE_482(1) is also used, return 482 Request Merged to a duplicate request with same Call-ID, CSeq, From tag but different topmost Via header (see RFC 3261 section 8.2.2.2 Merged Requests)
  • silently discard duplicate final responses to INVITE
  • retransmit preliminary responses (101..199) to INVITE request in regular intervals ("timer N2")
  • retransmit 2XX response to INVITE request with exponential intervals
  • handle ACK sent in 2XX response to an INVITE using the nta_ack_cancel_f callback bound to nta_incoming_t with nta_incoming_bind()
  • not use timer C unless its value has been explicitly set
Note:
This NUTAG_UA(1) is set internally by nua_create()
Used with
nta_agent_create()
nta_agent_set_params()
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
  • true - act as an UA
  • false - act as an proxy
Default Value
  • 0 (false)
See also:
NTATAG_MERGE_482()
#define NTATAG_UDP_MTU (   x  ) 

Maximum size of outgoing UDP request.

The maximum UDP request size is used to control use of UDP with overtly large messages. The IETF requires that the SIP requests over 1300 bytes are sent over congestion-controlled transport such as TCP. If a SIP message size exceeds the UDP MTU, the TCP is tried instead of UDP. (If the TCP connection is refused, the stack reverts back to UDP).

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
  • unsigned
Values
  • Maximum size of an outgoing UDP request
Default Value
  • 1300 (bytes)
See also:
RFC 3261 section 18.1.1, NTATAG_MAXSIZE()
#define NTATAG_USE_NAPTR (   x  ) 

If true, try to use NAPTR records when resolving.

The application can disable NTA from using NAPTR records when resolving SIP URIs.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
  • true - enable NAPTR resolving
  • false - disable NAPTR resolving
Bug:
NAPTRs are not used with SIPS URIs in any case.
See also:
RFC 3263, NTATAG_USE_SRV()
#define NTATAG_USE_SRV (   x  ) 

If true, try to use SRV records when resolving.

The application can disable NTA from using SRV records when resolving SIP URIs.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params()
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
  • true - enable SRV resolving
  • false - disable SRV resolving
See also:
RFC 3263, NTATAG_USE_NAPTR()
#define NTATAG_USE_TIMESTAMP (   x  ) 

Use Timestamp header.

If set, a Timestamp header would be added to stateful requests. The header can be used to calculate the roundtrip transport latency between client and server.

Used with
nua_create(), nta_agent_create(), nta_agent_set_params(), nta_outgoing_mcreate(), nta_outgoing_tcreate(), nta_outgoing_tcancel(), and nta_outgoing_prack().
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
See also:
RFC 3261 section 8.2.6
#define NTATAG_USER_VIA (   x  ) 

Allow application to insert Via headers.

Used with
nua_create(), nua_set_params(), nta_agent_create(), nta_agent_set_params(), nta_outgoing_mcreate(), nta_outgoing_tcreate(), nta_outgoing_tcancel(), nta_outgoing_prack(), nta_msg_tsend()
Parameter type
boolean: true (non-zero or non-NULL pointer) or false (zero or NULL pointer)
Values
  • true - do not add Via header to the request (if it has one)
  • false - always add a Via header
Default Value
  • 0 (false, always add a Via header)
See also:
NTATAG_BRANCH(), NTATAG_TPORT()

Variable Documentation

List of all nta tags.

 All Data Structures Files Functions Variables Typedefs Enumerator Defines

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