NTA tags. More...
#include <sofia-sip/su_tag.h>
#include <sofia-sip/sip_tag.h>
#include <sofia-sip/url_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. |
NTA tags.
#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.
#define NTATAG_ALIASES | ( | x | ) |
Aliases used by NTA.
#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.
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:#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.
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:#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.
#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".
#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.
#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.
#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.
#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.
#define NTATAG_COMP | ( | x | ) |
Compression algorithm.
Set compression algorithm for request as described in RFC 3486.
#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.
#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.
#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.
#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.
#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.
#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.
#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.
#define NTATAG_MCLASS | ( | x | ) |
Message class used by NTA.
The nta can use a custom or extended parser created with msg_mclass_clone().
#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.
#define NTATAG_METHOD | ( | x | ) |
Method name.
Create a dialogless nta_leg_t object matching only requests with the specified method.
#define NTATAG_MSG | ( | x | ) |
Pass a SIP message to treply()/tcreate() functions.
#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.
#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.
#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.
#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.
#define NTATAG_REL100 | ( | x | ) |
Include rel100 in INVITE requests.
Include feature tag "100rel" in Supported header of the INVITE requests.
#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.
#define NTATAG_RSEQ | ( | x | ) |
RSeq value for nta_outgoing_prack().
unsigned
int
#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.
#define NTATAG_S_BAD_MESSAGE_REF | ( | x | ) |
Get number of bad SIP messages received.
Return number of bad SIP messages that has been received.
#define NTATAG_S_BAD_REQUEST_REF | ( | x | ) |
Get number of bad SIP requests received.
Return number of bad SIP requests that has been received.
#define NTATAG_S_BAD_RESPONSE_REF | ( | x | ) |
Get number of bad SIP responses received.
Return number of bad SIP responses that has been received.
#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.
#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.
#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.
#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.
#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.
#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.
#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.
#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.
#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.
#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).
#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.
#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.
#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.
#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().
#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().
#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.
#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.
#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.
#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.
#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.
#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.
#define NTATAG_S_SERVER_TR_REF | ( | x | ) |
Get number of server transactions created.
Return number of server transactions created.
#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.
#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.
#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().
#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.
#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.
#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().
#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).
#define NTATAG_SIGCOMP_ALGORITHM | ( | x | ) |
Specify SigComp algorithm.
#define NTATAG_SIGCOMP_AWARE | ( | x | ) |
Indicate that the application is SigComp-aware.
#define NTATAG_SIGCOMP_CLOSE | ( | x | ) |
Close SigComp compartment after completing transaction.
#define NTATAG_SIGCOMP_OPTIONS | ( | x | ) |
Semicolon-separated SigComp options.
#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.
#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.
#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.
#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.
#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:
#define NTATAG_SMIME | ( | x | ) |
Provide S/MIME context to NTA.
#define NTATAG_STATELESS | ( | x | ) |
Enable stateless processing.
#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.
#define NTATAG_TCP_RPORT | ( | x | ) |
Use rport with TCP, too.
#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).
#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).
#define NTATAG_TLS_RPORT | ( | x | ) |
Use rport with TLS, too.
#define NTATAG_TPORT | ( | x | ) |
Pass a transport object.
The transport object is used to send the request or response message(s).
#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
#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).
#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.
#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.
#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.
#define NTATAG_USER_VIA | ( | x | ) |
Allow application to insert Via headers.
List of all nta tags.