Commit f94086d8 authored by Pekka Pessi's avatar Pekka Pessi
Browse files

nta: updated docmentation. improved links to sip module.

darcs-hash:20060914125826-65a35-bf7771329e2e5cadf060d4fb404a4b3b4dcb857f.gz
parent d4bb5ce1
......@@ -299,7 +299,7 @@ extern char const NTA_DEBUG[];
/**Debug log for @b nta module.
*
* The nta_log is the log object used by @b nta module. The level of
* #nta_log is set using #NTA_DEBUG environment variable.
* nta_log is set using #NTA_DEBUG environment variable.
*/
su_log_t nta_log[] = { SU_LOG_INIT("nta", "NTA_DEBUG", SU_DEBUG) };
......@@ -330,9 +330,9 @@ su_log_t nta_log[] = { SU_LOG_INIT("nta", "NTA_DEBUG", SU_DEBUG) };
*
* @par
* If an @p maddr parameter is specified in @e url, agent binds to the
* specified address, but uses @e host part of @e url in @b Contact and @b
* Via headers. The @p maddr parameter is also included, unless it equals
* to @c INADDR_ANY (@p 0.0.0.0 or @p [::]).
* specified address, but uses @e host part of @e url when it generates
* @Contact and @Via headers. The @p maddr parameter is also included,
* unless it equals to @c INADDR_ANY (@p 0.0.0.0 or @p [::]).
*
* @param root pointer to a su_root_t used for synchronization
* @param contact_url URL that agent uses to bind the server sockets
......@@ -557,9 +557,9 @@ nta_agent_magic_t *nta_agent_magic(nta_agent_t const *agent)
return agent ? agent->sa_magic : NULL;
}
/** Return @b Contact header.
/** Return @Contact header.
*
* The function nta_agent_contact() returns a @b Contact header, which can be
* The function nta_agent_contact() returns a @Contact header, which can be
* used to reach @a agent.
*
* @param agent NTA agent object
......@@ -567,11 +567,11 @@ nta_agent_magic_t *nta_agent_magic(nta_agent_t const *agent)
* @return The function nta_agent_contact() returns a sip_contact_t object
* corresponding to the @a agent.
*
* User agents can insert the @b Contact header in the outgoing REGISTER,
* User agents can insert the @Contact header in the outgoing REGISTER,
* INVITE, and ACK requests and replies to incoming INVITE and OPTIONS
* transactions.
*
* Proxies can use the @b Contact header to create appropriate @b Record-Route
* Proxies can use the @Contact header to create appropriate @RecordRoute
* headers:
* @code
* r_r = sip_record_route_create(msg_home(msg),
......@@ -584,9 +584,9 @@ sip_contact_t *nta_agent_contact(nta_agent_t const *agent)
return agent ? agent->sa_contact : NULL;
}
/** Return a list of @b Via headers.
/** Return a list of @Via headers.
*
* The function nta_agent_via() returns @b Via headers for all activated
* The function nta_agent_via() returns @Via headers for all activated
* transport.
*
* @param agent NTA agent object
......@@ -600,9 +600,9 @@ sip_via_t *nta_agent_via(nta_agent_t const *agent)
}
/** Return a list of public (UPnP, STUN) @b Via headers.
/** Return a list of public (UPnP, STUN) @Via headers.
*
* The function nta_agent_public_via() returns public @b Via headers for all activated
* The function nta_agent_public_via() returns public @Via headers for all activated
* transports.
*
* @param agent NTA agent object
......@@ -615,9 +615,9 @@ sip_via_t *nta_agent_public_via(nta_agent_t const *agent)
return agent ? agent->sa_public_vias : NULL;
}
/** Return @b User-Agent header.
/** Return @UserAgent header.
*
* The function nta_agent_name() returns a @b User-Agent information with
* The function nta_agent_name() returns a @UserAgent information with
* NTA version.
*
* @param agent NTA agent object (may be NULL)
......@@ -751,7 +751,7 @@ void agent_kill_terminator(nta_agent_t *agent)
* The nta_agent_set_params() function sets the stack parameters. The
* parameters determine the way NTA handles the retransmissions, how long
* NTA keeps transactions alive, does NTA apply proxy or user-agent logic to
* INVITE transactions, or how the @b Via headers are generated.
* INVITE transactions, or how the @Via headers are generated.
*
* @note
* Setting the parameters NTATAG_MAXSIZE(), NTATAG_UDP_MTU(),
......@@ -1032,7 +1032,7 @@ void agent_set_udp_params(nta_agent_t *self, unsigned udp_mtu)
* The nta_agent_get_params() function retrieves the stack parameters. The
* parameters determine the way NTA handles the retransmissions, how long
* NTA keeps transactions alive, does NTA apply proxy or user-agent logic to
* INVITE transactions, or how the @b Via headers are generated.
* INVITE transactions, or how the @Via headers are generated.
*
* @TAGS
* NTATAG_ALIASES_REF(), NTATAG_CANCEL_2543_REF(), NTATAG_CANCEL_487_REF(),
......@@ -1173,7 +1173,7 @@ int nta_agent_get_stats(nta_agent_t *agent,
/**Calculate a new unique tag.
*
* This function generates a series of 2**64 unique tags for @b From or @b To
* This function generates a series of 2**64 unique tags for @From or @To
* headers. The start of the tag series is derived from the NTP time the NTA
* agent was initialized.
*
......@@ -1217,7 +1217,7 @@ static char const *stateful_branch(su_home_t *home, nta_agent_t *sa)
/**
* Calculate branch value for stateless operation.
*
* XXX - should include HMAC of previous Via line.
* XXX - should include HMAC of previous @Via line.
*/
static
char const *stateless_branch(nta_agent_t *sa,
......@@ -1344,7 +1344,7 @@ static tport_stack_class_t nta_agent_class[1] =
* supported, for instance, "sip" can use SCTP or DCCP, "sips" DTLS or TLS
* over SCTP.
*
* The "host" part determines what address/domain name is used in Contact.
* The "host" part determines what address/domain name is used in @Contact.
* An "*" in "host" part is shorthand for any local IP address. 0.0.0.0
* means that the only the IPv4 addresses are used. [::] means that only
* the IPv6 addresses are used. If a domain name or a specific IP address
......@@ -1544,7 +1544,7 @@ int agent_create_master_transport(nta_agent_t *self, tagi_t *tags)
}
/** Initialize Via headers. */
/** Initialize @Via headers. */
static
int agent_init_via(nta_agent_t *self, tport_t *primaries, int use_maddr)
{
......@@ -1764,7 +1764,7 @@ int agent_init_contact(nta_agent_t *self)
return 0;
}
/** Return Via line corresponging to tport. */
/** Return @Via line corresponging to tport. */
static
sip_via_t const *agent_tport_via(tport_t *tport)
{
......@@ -1774,7 +1774,7 @@ sip_via_t const *agent_tport_via(tport_t *tport)
return v;
}
/** Insert Via to a request message */
/** Insert @Via to a request message */
static
int outgoing_insert_via(nta_outgoing_t *orq,
sip_via_t const *via)
......@@ -1790,7 +1790,7 @@ int outgoing_insert_via(nta_outgoing_t *orq,
assert(sip); assert(via);
if (user_via && sip->sip_via) {
/* Use existing Via provided by application */
/* Use existing @Via provided by application */
v = sip->sip_via;
}
else if (msg && via && sip->sip_request &&
......@@ -1834,7 +1834,7 @@ int outgoing_insert_via(nta_outgoing_t *orq,
return 0;
}
/** Get destination name from Via.
/** Get destination name from @Via.
*
* If @a using_rport is non-null, try rport.
* If *using_rport is non-zero, try rport even if <protocol> is not UDP.
......@@ -2020,7 +2020,7 @@ void agent_recv_request(nta_agent_t *agent,
stream = tport_is_stream(tport);
/* Try to use compression on reverse direction if Via has comp=sigcomp */
/* Try to use compression on reverse direction if @Via has comp=sigcomp */
if (stream &&
sip->sip_via->v_comp &&
tport_can_send_sigcomp(tport) &&
......@@ -2213,7 +2213,7 @@ void agent_recv_request(nta_agent_t *agent,
}
}
/** Check Via header.
/** Check @Via header.
*
*/
static
......@@ -2842,7 +2842,7 @@ int complete_response(msg_t *response,
* really accept the call, but it may send a ACK request to UAS followed
* immediately by BYE using nta_msg_ackbye(). The function does not create a
* transaction objects, but just sends the ACK and BYE request messages
* according to the @b Record-Route and @b Contact headers in the @a msg.
* according to the @RecordRoute and @Contact headers in the @a msg.
*/
int nta_msg_ackbye(nta_agent_t *agent, msg_t *msg)
{
......@@ -2941,7 +2941,7 @@ int nta_msg_ackbye(nta_agent_t *agent, msg_t *msg)
*
* The function nta_msg_request_complete() completes a request message @a
* msg belonging to a dialog associated with @a leg. It increments the local
* @b CSeq value, adds @b Call-ID, @b To, @b From and @b Route headers (if
* @CSeq value, adds @CallID, @To, @From and @Route headers (if
* there is such headers present in @a leg), and creates a new request line
* object from @a method, @a method_name and @a request_uri.
*
......@@ -3128,16 +3128,16 @@ hash_value_t hash_istring(char const *, char const *, hash_value_t);
* @param tag,value,... optional extra headers in taglist
*
* When a leg representing dialog is created, the tags SIPTAG_CALL_ID(),
* SIPTAG_FROM(), SIPTAG_TO(), and SIPTAG_CSEQ() (for local CSeqs) are used
* SIPTAG_FROM(), SIPTAG_TO(), and SIPTAG_CSEQ() (for local @CSeq number) are used
* to establish dialog context. The SIPTAG_FROM() is used to pass local
* address (@b From header when making a call, @b To header when answering
* address (@From header when making a call, @To header when answering
* to a call) to the newly created leg. Respectively, the SIPTAG_TO() is
* used to pass remote address (@b To header when making a call, @b From
* used to pass remote address (@To header when making a call, @From
* header when answering to a call).
*
* If there is a (preloaded) route associated with the leg, SIPTAG_ROUTE()
* and NTATAG_TARGET() can be used. A client or server can also set the
* route using @b Record-Route and @b Contact headers from a response or
* route using @RecordRoute and @Contact headers from a response or
* request message with the functions nta_leg_client_route() and
* nta_leg_server_route(), respectively.
*
......@@ -3592,7 +3592,7 @@ int nta_leg_get_route(nta_leg_t *leg,
return 0;
}
/** Generate Replaces header */
/** Generate @Replaces header. */
SOFIAPUBFUN
sip_replaces_t *nta_leg_make_replaces(nta_leg_t *leg,
su_home_t *home,
......@@ -3613,7 +3613,7 @@ sip_replaces_t *nta_leg_make_replaces(nta_leg_t *leg,
early_only ? ";early-only" : "");
}
/** Get dialog leg by Replaces header */
/** Get dialog leg by @Replaces header. */
SOFIAPUBFUN
nta_leg_t *nta_leg_by_replaces(nta_agent_t *sa, sip_replaces_t const *rp)
{
......@@ -3748,7 +3748,7 @@ int addr_cmp(url_t const *a, url_t const *b)
* @param agent pointer to agent object
* @param request_uri if non-NULL, and there is destination URI
* associated with the dialog, these URIs must match
* @param call_id if non-NULL, must match with Call-ID header contents
* @param call_id if non-NULL, must match with @CallID header contents
* @param remote_tag if there is remote tag
* associated with dialog, @a remote_tag must match
* @param remote_uri if there is no remote tag, the remote URI must match
......@@ -3959,7 +3959,7 @@ nta_leg_t *dst_find(nta_agent_t const *sa,
/** Set leg route and target URL.
*
* The function leg_route() sets the leg route and contact using the
* Record-Route and Contact headers.
* @RecordRoute and @Contact headers.
*/
static
int leg_route(nta_leg_t *leg,
......@@ -4637,7 +4637,7 @@ void nta_incoming_bind(nta_incoming_t *irq,
}
}
/** Add a To tag to incoming request if needed.
/** Add a @To tag to incoming request if needed.
*
* If @a tag is NULL, a new tag is generated.
*/
......@@ -5180,8 +5180,8 @@ int incoming_set_compartment(nta_incoming_t *irq, tport_t *tport, msg_t *msg,
*
* Generate status structure based on @a status and @a phrase.
* Add essential headers to the response message:
* @b From, @b To, @b Call-ID, @b CSeq, @b Via, and optionally
* @b Record-Route.
* @From, @To, @CallID, @CSeq, @Via, and optionally
* @RecordRoute.
*/
int nta_incoming_complete_response(nta_incoming_t *irq,
msg_t *msg,
......@@ -5986,7 +5986,7 @@ nta_outgoing_t *nta_outgoing_default(nta_agent_t *agent,
* is sent to the @a route_url (if non-NULL), default proxy (if defined by
* NTATAG_DEFAULT_PROXY()), or to the address specified by @a request_uri.
* If no @a request_uri is specified, it is taken from route-set target or
* from the @b To header.
* from the @To header.
*
* When NTA receives response to the request, it invokes the @a callback
* function.
......@@ -6073,7 +6073,7 @@ nta_outgoing_t *nta_outgoing_tcreate(nta_leg_t *leg,
* request is sent to the @a route_url (if non-NULL), default proxy (if
* defined by NTATAG_DEFAULT_PROXY()), or to the address specified by @a
* request_uri. If no @a request_uri is specified, it is taken from
* route-set target or from the @b To header.
* route-set target or from the @To header.
*
* When NTA receives response to the request, it invokes the @a callback
* function.
......@@ -6319,7 +6319,7 @@ int nta_outgoing_status(nta_outgoing_t const *orq)
return orq != NULL && orq != NONE ? orq->orq_status : 500;
}
/** Get the RTT delay measured using @b Timestamp header. */
/** Get the RTT delay measured using @Timestamp header. */
unsigned nta_outgoing_delay(nta_outgoing_t const *orq)
{
return orq != NULL && orq != NONE ? orq->orq_delay : UINT_MAX;
......@@ -7560,9 +7560,9 @@ int outgoing_mass_destroy(nta_agent_t *sa, outgoing_queue_t *q)
return destroyed;
}
/** Find an outgoing request corresponging to a message and Via line.
/** Find an outgoing request corresponging to a message and @Via line.
*
* Return an outgoing request object based on a message and the Via line
* Return an outgoing request object based on a message and the @Via line
* given as argument. This function is used when doing loop checking: if we
* have sent the request and it has been routed back to us.
*
......@@ -7586,7 +7586,7 @@ nta_outgoing_t *nta_outgoing_find(nta_agent_t const *agent,
/**@internal
*
* Find an outgoing request corresponging to a message and Via line.
* Find an outgoing request corresponging to a message and @Via line.
*
*/
nta_outgoing_t *outgoing_find(nta_agent_t const *sa,
......@@ -9082,7 +9082,7 @@ int reliable_check(nta_incoming_t *irq)
if (irq->irq_reliable && irq->irq_reliable->rel_status >= 200)
return 0;
/* RSeq is initialized to nonzero when request requires/supports 100rel */
/* @RSeq is initialized to nonzero when request requires/supports 100rel */
if (irq->irq_rseq == 0)
return 0;
......@@ -9306,7 +9306,7 @@ msg_t *reliable_response(nta_incoming_t *irq)
return rel->rel_unsent;
}
/** Process incoming PRACK with matching RAck field */
/** Process incoming PRACK with matching @RAck field */
static
int reliable_recv(nta_incoming_t *irq, msg_t *msg, sip_t *sip, tport_t *tp)
{
......@@ -9563,7 +9563,7 @@ int outgoing_recv_reliable(nta_outgoing_t *orq,
/** Create a tagged fork of outgoing request.
*
* When a dialog-creating INVITE request is forked, each response from
* diffent fork will create an early dialog with a distinct tag in @a To
* diffent fork will create an early dialog with a distinct tag in @To
* header. When each fork should be handled separately, a tagged INVITE
* request can be used. It will only receive responses from the specified
* fork. Please note that the tagged transaction should be terminated with
......@@ -9802,13 +9802,13 @@ nta_outgoing_t *nta_outgoing_prack(nta_leg_t *leg,
return orq;
}
/** Get RSeq value stored with client transaction. */
/** Get @RSeq value stored with client transaction. */
uint32_t nta_outgoing_rseq(nta_outgoing_t const *orq)
{
return orq ? orq->orq_rseq : 0;
}
/** Set RSeq value stored with client transaction.
/** Set @RSeq value stored with client transaction.
*
* @return 0 if rseq was set successfully
* @return -1 if rseq is invalid or orq is NULL.
......
/* -*- c -*- */
/**@mainpage Sofia Transaction API for SIP - "nta"
/**@MODULEPAGE "nta" - SIP Transactions Module
*
* @section nta_meta Module Meta Information
*
* Sofia SIP Transaction API (nta) provides simple interface to the SIP
* transaction, transport and message handling. The @b nta interface is
* intended for both network and user elements. The public interface for
* @b nta is mostly defined in <nta.h>, but tag parameters are defined in
* <nta_tag.h>.
* intended for both network and user elements. The public interface for @b
* nta is mostly defined in <sofia-sip/nta.h>, but tag parameters are
* defined in <sofia-sip/nta_tag.h>.
*
* Functions and datatypes providing compatibility for old sources are in
* <nta_compat.h>
*
* @CONTACT Pekka Pessi <Pekka.Pessi@nokia.com>
*
* @STATUS Core library
* @STATUS @SofiaSIP Core library
*
* @LICENSE LGPL
*
......@@ -94,8 +91,8 @@
* Other, ordinary legs can be used to match incoming requests with existing
* dialogs, calls or transaction contexts, or to provide outgoing requests
* with consistent headers. When a call leg is created, it is provided with
* @b From and @b To headers, and optionally with other headers like @b
* Call-ID, @b Route, or @b CSeq.
* @From and @To headers, and optionally with other headers like
* @CallID, @Route, or @CSeq.
*
* A new call leg can be created as follows:
* @code
......@@ -107,9 +104,9 @@
* TAG_END());
* @endcode
*
* @note In the example above, the @b From and @b To are reversed. This
* happens if the headers are taken from an incoming request; the @b From
* and @b To headers change direction when an outgoing request is initiated.
* @note In the example above, the @From and @To are reversed. This
* happens if the headers are taken from an incoming request; the @From
* and @To headers change direction when an outgoing request is initiated.
*
* @note An existing leg can be used in any direction, however. If the leg
* was created for an incoming INVITE transaction, it is also possible to
......@@ -117,10 +114,17 @@
*
* @subsection nta_leg_tag Tagging the Call Leg
*
* All the SIP UAS elements (however, not proxy servers) are required to tag
* the @b To header in their final responses. The function nta_leg_tag()
* adds a tag to the leg's local address. Local address is used as the @b To
* header in the reply messages, and as the @b From header in the requests.
* All the SIP UAS elements are required to tag the @To header in their
* final responses. The function nta_leg_tag() adds a tag to the leg's local
* address. Local address is used as the @To header in the reply messages,
* and as the @From header in the requests. The function nta_incoming_tag()
* adds a tag to a incoming transaction. They are usually used in together,
* using the tag from initial response to the dialog, too:
* e.g.,
* @code
* if (!nta_leg_tag(leg, nta_incoming_tag(irq, NULL)))
* nta_incoming_treply(irq, SIP_500_INTERNAL_SERVER_ERROR, TAG_END());
* @endcode
*
* @subsection nta_incoming_t Incoming Transactions
*
......@@ -184,7 +188,7 @@
* @endcode
*
* The default reply message will contain the status line with default
* phrase, then Via, To, From, Call-ID, CSeq, and Content-Length headers.
* phrase, then @Via, @To, @From, @CallID, @CSeq, and @ContentLength headers.
* If a more complex response message is required, the application should
* respond using the function nta_incoming_treply():
* @code
......@@ -210,18 +214,18 @@
* provides reliable provisional responses, provisional responses that are
* retransmitted until a special acknowledgement request, PRACK, is
* received. In addition the PRACK method, the extension defines two
* headers, @b RSeq and @b RAck, that are used to identify different
* headers, @RSeq and @RAck, that are used to identify different
* response messages. PRACK method is usable on INVITE requests only.
*
* Using reliable responses is negotiated using the "100rel" option tag. The
* UAC (party sending the INVITE) can include the option tag to the @b
* Supported or @b Required header. In the first case, the UAC just
* UAC (party sending the INVITE) can include the option tag to the
* @Supported or @Require header. In the first case, the UAC just
* announces support for reliable responses, in the second case, the UAC
* requires that the UAS (party responding to the call) always sends
* provisional responses in reliable manner.
*
* When reliable responses are enabled with NTATAG_REL100() tag, the @b nta
* engine automatically inserts the "100rel" option tag to the @b Supported
* engine automatically inserts the "100rel" option tag to the @Supported
* header in the INVITE requests.
*
* @subsection nta_reliable_t Responding Reliably
......@@ -241,9 +245,9 @@
*
* The @b nta takes care of assigning a serial number to each reliable
* response and resending them if no PRACK request is received. It also
* automatically adds the 100rel option tag to the @b Require header.
* automatically adds the 100rel option tag to the @Require header.
*
* Also, if a request with 100rel in Require header is responded with usual
* Also, if a request with 100rel in @Require header is responded with usual
* nta_incoming_treply()/nta_incoming_mreply() functions, the @b nta creates
* a reliable response object for each provisional response in behalf of
* application. As the application can not provide a PRACK callback function
......@@ -251,7 +255,7 @@
*
* @subsection early_dialog UAC Receives a Reliable Response
*
* When a UAC receives a provisional response with a @b RSeq header, it is
* When a UAC receives a provisional response with a @RSeq header, it is
* required to acknowledge it. In order to do that, it must establish an @e
* early @e dialog with the UAS. In another view, a reliable response is
* used to establish the early dialog. UAC establishes a leg object for the
......@@ -332,7 +336,7 @@
* used to select which incoming messages belong to this leg.
*
* The initial sequence number can be supplied with SIPTAG_CSEQ() (taking a
* CSeq structure as parameter).
* @CSeq structure as parameter).
*
* The additional parameters (after @a to) are included in outgoing messages
* using this leg. Currently, only @c SIPTAG_ROUTE() is supported.
......@@ -387,7 +391,7 @@
* TAG_END());
* @endcode
*
* @note The ACK transaction should be sent to the Contact specified in the
* @note The ACK transaction should be sent to the @Contact specified in the
* 2xx reply.
*
* <a name="nta_register_f"></a>
......
......@@ -46,7 +46,7 @@
* The list of supported features is compared with the list of features
* required by the UAC. If some features are not listed as supported, return
* 420. If @a irq is non-NULL, the 420 response message is sent to the
* client along with list of unsupported features in the @b Unsupported
* client along with list of unsupported features in the @Unsupported
* header, too.
*
* @param irq incoming transaction object (may be NULL).
......@@ -187,18 +187,18 @@ static char const application_sdp[] = "application/sdp";
/** Check that we understand session content in the request.
*
* If there is no Content-Disposition header or the Content-Disposition
* If there is no @ContentDisposition header or the @ContentDisposition
* header indicated "session", the message body and content-type is compared
* with the acceptable session content-types listed in @a session_accepts.
* (typically, @c "application/sdp"). If no match is found, a 415 is
* returned. If @a irq is non-NULL, the 415 response message is sent to the
* client, too.
*
* If the Content-Disposition header indicates something else but "session",
* If the @ContentDisposition header indicates something else but "session",
* and it does not contain "handling=optional" parameter, a 415 response is
* returned, too.
*
* Also, the Content-Encoding header is checked. If it is not empty
* Also, the @ContentEncoding header is checked. If it is not empty
* (indicating no content-encoding), a 415 response is returned, too.
*
* @param irq incoming (server) transaction object (may be NULL).
......@@ -343,11 +343,11 @@ int nta_check_accept(nta_incoming_t *irq,
return 406;
}
/**Check Session-Expires header.
/**Check @SessionExpires header.
*
* If the proposed session-expiration time is smaller than Min-SE or our
* If the proposed session-expiration time is smaller than @MinSE or our
* minimal session expiration time, respond with 422 containing our minimal
* session expiration time in Min-SE header.
* session expiration time in @MinSE header.
*
* @param irq incoming transaction object (may be NULL).
* @param sip contents of the SIP message
......
......@@ -96,7 +96,7 @@ int nta_agent_set_proxy(nta_agent_t *agent, url_string_t const *u)
/**Return default @b Tag.
*
* The function nta_agent_tag() returns the default @b To @b tag
* The function nta_agent_tag() returns the default @To @b tag
* which is used by NTA agent.
*
* @param agent NTA agent object
......@@ -273,10 +273,10 @@ void sm_leg_recv(su_root_magic_t *rm,
* @param callback function which is called for each
* incoming request belonging to this leg
* @param magic call leg context
* @param i optional @b Call-ID
* @param i optional @CallID
* (if @c NULL, an ID generated by @b NTA is used)
* @param from optional @b From (local address)
* @param to optional @b To (remote address)
* @param from optional @From (local address)
* @param to optional @To (remote address)
* @param extra, ... optional extra headers, terminated with a @c NULL
*
* @deprecated Use nta_leg_tcreate() instead.
......@@ -306,10 +306,10 @@ nta_leg_t *nta_leg_create(nta_agent_t *agent,
* @param callback function which is called for each
* incoming request belonging to this leg
* @param magic call leg context
* @param i optional @b Call-ID
* @param i optional @CallID
* (if @c NULL, an ID generated by @b NTA is used)
* @param from optional @b From (local address)
* @param to optional @b To (remote address)
* @param from optional @From (local address)
* @param to optional @To (remote address)
* @param extra optional extra header
* @param headers va_list of optional extra headers
*
......@@ -480,7 +480,7 @@ msg_t *nta_outgoing_getresponse(nta_outgoing_t *orq)
* non-NULL), default proxy (as specified by nta_agent_set_proxy()), or to
* the address specified by @a request_uri. In the latest case, all the
* tranport parameters are stripped from the request_uri. If no @a
* request_uri is specified, it is taken from the To header.
* request_uri is specified, it is taken from the @To header.
*
* When NTA receives response to the request, it invokes the @c callback
* function.
......
......@@ -110,14 +110,14 @@ struct nta_agent_s
msg_mclass_t *sa_mclass;
sip_contact_t *sa_contact;
sip_via_t *sa_vias; /**< Via headers for all transports */
sip_via_t *sa_public_vias; /**< Vias for public transports */
sip_via_t *sa_vias; /**< @Via headers for all transports */
sip_via_t *sa_public_vias; /**< @Vias for public transports */
sip_contact_t *sa_aliases;/**< List of aliases for agent */
uint64_t sa_branch; /**< Counter for generating branch parameter */
uint64_t sa_tags; /**< Counter for generating tag parameters */
char const *sa_2543_tag; /**< Fixed tag added to To when responding */
char const *sa_2543_tag; /**< Fixed tag added to @To when responding */
#if HAVE_SOFIA_SRESOLV
sres_resolver_t *sa_resolver; /**< DNS resolver */
......@@ -168,11 +168,11 @@ struct nta_agent_s
/** NTA is used to test packet drop */
unsigned sa_drop_prob : 10;
/** NTA is acting as an User agent server */
/** NTA is acting as an User Agent server */
unsigned sa_is_a_uas : 1;
/** Process requests outside dialog statelessly */
unsigned sa_is_stateless : 1;
/** Let application provide Via headers */
/** Let application provide @Via headers */
unsigned sa_user_via:1;
/** Respond with "100 Trying" if application has not responded. */
unsigned sa_extra_100:1;
......@@ -193,7 +193,7 @@ struct nta_agent_s
unsigned sa_tag_3261 : 1;
/** If true, include 100rel in INVITE requests. */
unsigned sa_invite_100rel : 1;
/** If true, insert Timestamp in requests. */
/** If true, insert @Timestamp in requests. */
unsigned sa_timestamp : 1;
/** If true, transports support IPv4. */
......@@ -214,7 +214,7 @@ struct nta_agent_s
/** If true, use SRV lookup */
unsigned sa_use_srv : 1;
/** If true, trasnports use threadpool */
/** If true, transports use threadpool */
unsigned sa_tport_threadpool : 1;
/** If true, use rport at client */
......@@ -244,7 +244,7 @@ struct nta_agent_s
/** Resolving order (AAAA/A) */
enum nta_res_order_e sa_res_order;
/** Max-Forwards */
/** @MaxForwards */
sip_max_forwards_t sa_max_forwards[1];
......@@ -360,11 +360,11 @@ struct nta_leg_s
uint32_t leg_seq; /**< Sequence number for next transaction */