Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
BC
public
external
sofia-sip
Commits
f94086d8
Commit
f94086d8
authored
Sep 14, 2006
by
Pekka Pessi
Browse files
nta: updated docmentation. improved links to sip module.
darcs-hash:20060914125826-65a35-bf7771329e2e5cadf060d4fb404a4b3b4dcb857f.gz
parent
d4bb5ce1
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
122 additions
and
118 deletions
+122
-118
libsofia-sip-ua/nta/nta.c
libsofia-sip-ua/nta/nta.c
+50
-50
libsofia-sip-ua/nta/nta.docs
libsofia-sip-ua/nta/nta.docs
+31
-27
libsofia-sip-ua/nta/nta_check.c
libsofia-sip-ua/nta/nta_check.c
+7
-7
libsofia-sip-ua/nta/nta_compat.c
libsofia-sip-ua/nta/nta_compat.c
+8
-8
libsofia-sip-ua/nta/nta_internal.h
libsofia-sip-ua/nta/nta_internal.h
+14
-14
libsofia-sip-ua/nta/sl_utils_log.c
libsofia-sip-ua/nta/sl_utils_log.c
+6
-6
libsofia-sip-ua/nta/sl_utils_print.c
libsofia-sip-ua/nta/sl_utils_print.c
+6
-6
No files found.
libsofia-sip-ua/nta/nta.c
View file @
f94086d8
...
...
@@ -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 CSeq
s
) 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.
...
...
libsofia-sip-ua/nta/nta.docs
View file @
f94086d8
/* -*- 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
Require
d
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>
...
...
libsofia-sip-ua/nta/nta_check.c
View file @
f94086d8
...
...
@@ -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
...
...
libsofia-sip-ua/nta/nta_compat.c
View file @
f94086d8
...
...
@@ -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.
...
...
libsofia-sip-ua/nta/nta_internal.h
View file @
f94086d8
...
...
@@ -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
a
gent server */
/** NTA is acting as an User
A
gent 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, tra
s
nports use threadpool */
/** If true, tran
s
ports use threadpool */
unsigned
sa_tport_threadpool
:
1
;