mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-11-12 12:37:05 +00:00
sync back up again with sofia tree prior to their release
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4177 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
1 parent
f359f847f7
commit
666bd3bec3
55 files changed
+1807
-2097
No files matched your search
@@ -890,7 +890,7 @@ int agent_set_params(nta_agent_t *agent, tagi_t *tags)
|
||||
unsigned threadpool = agent->sa_tport_threadpool;
|
||||
char const *sigcomp = agent->sa_sigcomp_options;
|
||||
char const *algorithm = NONE;
|
||||
msg_mclass_t *mclass = NONE;
|
||||
msg_mclass_t const *mclass = NONE;
|
||||
sip_contact_t const *aliases = NONE;
|
||||
url_string_t const *proxy = NONE;
|
||||
tport_t *tport;
|
||||
@@ -4983,15 +4983,16 @@ static inline
|
||||
nta_incoming_t *incoming_find(nta_agent_t const *agent,
|
||||
sip_t const *sip,
|
||||
sip_via_t const *v,
|
||||
nta_incoming_t **merge,
|
||||
nta_incoming_t **ack)
|
||||
nta_incoming_t **return_merge,
|
||||
nta_incoming_t **return_ack)
|
||||
{
|
||||
sip_cseq_t const *cseq = sip->sip_cseq;
|
||||
sip_call_id_t const *i = sip->sip_call_id;
|
||||
sip_to_t const *to = sip->sip_to;
|
||||
sip_from_t const *from = sip->sip_from;
|
||||
sip_request_t *rq = sip->sip_request;
|
||||
int is_uas_ack = ack && agent->sa_is_a_uas && rq->rq_method == sip_method_ack;
|
||||
int is_uas_ack = return_ack &&
|
||||
agent->sa_is_a_uas && rq->rq_method == sip_method_ack;
|
||||
incoming_htable_t const *iht = agent->sa_incoming;
|
||||
hash_value_t hash = NTA_HASH(i, cseq->cs_seq);
|
||||
|
||||
@@ -5008,6 +5009,30 @@ nta_incoming_t *incoming_find(nta_agent_t const *agent,
|
||||
continue;
|
||||
if (str0casecmp(irq->irq_from->a_tag, from->a_tag))
|
||||
continue;
|
||||
|
||||
if (str0casecmp(irq->irq_via->v_branch, v->v_branch) != 0 ||
|
||||
strcasecmp(irq->irq_via->v_host, v->v_host) != 0) {
|
||||
if (!agent->sa_is_a_uas)
|
||||
continue;
|
||||
|
||||
if (is_uas_ack &&
|
||||
irq->irq_method == sip_method_invite &&
|
||||
200 <= irq->irq_status && irq->irq_status < 300 &&
|
||||
addr_match(irq->irq_to, to))
|
||||
*return_ack = irq;
|
||||
/* RFC3261 - section 8.2.2.2 Merged Requests */
|
||||
else if (return_merge && agent->sa_merge_482 &&
|
||||
irq->irq_cseq->cs_method == cseq->cs_method &&
|
||||
(irq->irq_cseq->cs_method != sip_method_unknown ||
|
||||
strcmp(irq->irq_cseq->cs_method_name,
|
||||
cseq->cs_method_name) == 0)) {
|
||||
*return_merge = irq;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
continue;
|
||||
}
|
||||
|
||||
if (is_uas_ack) {
|
||||
if (!addr_match(irq->irq_to, to))
|
||||
continue;
|
||||
@@ -5020,16 +5045,6 @@ nta_incoming_t *incoming_find(nta_agent_t const *agent,
|
||||
else if (str0casecmp(irq->irq_to->a_tag, to->a_tag))
|
||||
continue;
|
||||
|
||||
if (str0casecmp(irq->irq_via->v_branch, v->v_branch) != 0) {
|
||||
if (!agent->sa_is_a_uas)
|
||||
continue;
|
||||
if (is_uas_ack && irq->irq_status >= 200 && irq->irq_status < 300)
|
||||
*ack = irq;
|
||||
/* RFC3261 - section 8.2.2.2 Merged Requests */
|
||||
else if (merge && !to->a_tag && agent->sa_merge_482)
|
||||
*merge = irq;
|
||||
continue;
|
||||
}
|
||||
if (!is_uas_ack && url_cmp(irq->irq_rq->rq_url, rq->rq_url))
|
||||
continue;
|
||||
|
||||
@@ -5041,18 +5056,18 @@ nta_incoming_t *incoming_find(nta_agent_t const *agent,
|
||||
if (irq->irq_method == rq->rq_method)
|
||||
break; /* found */
|
||||
|
||||
if (ack && rq->rq_method == sip_method_cancel)
|
||||
*ack = irq;
|
||||
else if (ack && rq->rq_method == sip_method_ack &&
|
||||
if (return_ack && rq->rq_method == sip_method_cancel)
|
||||
*return_ack = irq;
|
||||
else if (return_ack && rq->rq_method == sip_method_ack &&
|
||||
irq->irq_method == sip_method_invite)
|
||||
*ack = irq;
|
||||
*return_ack = irq;
|
||||
}
|
||||
|
||||
if (irq)
|
||||
return irq;
|
||||
|
||||
/* Check PRACKed requests */
|
||||
if (ack && rq->rq_method == sip_method_prack && sip->sip_rack) {
|
||||
if (return_ack && rq->rq_method == sip_method_prack && sip->sip_rack) {
|
||||
sip_rack_t const *rack = sip->sip_rack;
|
||||
hash = NTA_HASH(i, rack->ra_cseq);
|
||||
|
||||
@@ -5072,7 +5087,7 @@ nta_incoming_t *incoming_find(nta_agent_t const *agent,
|
||||
continue;
|
||||
if (!irq->irq_from->a_tag != !from->a_tag)
|
||||
continue;
|
||||
*ack = irq;
|
||||
*return_ack = irq;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -108,7 +108,7 @@ struct nta_agent_s
|
||||
uint32_t sa_nw_updates; /* Shall we enable network detector? */
|
||||
|
||||
uint32_t sa_flags; /**< Message flags */
|
||||
msg_mclass_t *sa_mclass;
|
||||
msg_mclass_t const *sa_mclass;
|
||||
|
||||
sip_contact_t *sa_contact;
|
||||
sip_via_t *sa_vias; /**< @Via headers for all transports */
|
||||
|
||||
@@ -110,38 +110,38 @@ tag_typedef_t ntatag_rseq = UINTTAG_TYPEDEF(rseq);
|
||||
|
||||
/* Status */
|
||||
|
||||
tag_typedef_t ntatag_s_irq_hash = UINTTAG_TYPEDEF(s_irq_hash);
|
||||
tag_typedef_t ntatag_s_orq_hash = UINTTAG_TYPEDEF(s_orq_hash);
|
||||
tag_typedef_t ntatag_s_leg_hash = UINTTAG_TYPEDEF(s_leg_hash);
|
||||
tag_typedef_t ntatag_s_irq_hash_used = UINTTAG_TYPEDEF(s_irq_hash_used);
|
||||
tag_typedef_t ntatag_s_orq_hash_used = UINTTAG_TYPEDEF(s_orq_hash_used);
|
||||
tag_typedef_t ntatag_s_leg_hash_used = UINTTAG_TYPEDEF(s_leg_hash_used);
|
||||
tag_typedef_t ntatag_s_recv_msg = UINTTAG_TYPEDEF(s_recv_msg);
|
||||
tag_typedef_t ntatag_s_recv_request = UINTTAG_TYPEDEF(s_recv_request);
|
||||
tag_typedef_t ntatag_s_recv_response = UINTTAG_TYPEDEF(s_recv_response);
|
||||
tag_typedef_t ntatag_s_bad_message = UINTTAG_TYPEDEF(s_bad_message);
|
||||
tag_typedef_t ntatag_s_bad_request = UINTTAG_TYPEDEF(s_bad_request);
|
||||
tag_typedef_t ntatag_s_bad_response = UINTTAG_TYPEDEF(s_bad_response);
|
||||
tag_typedef_t ntatag_s_drop_request = UINTTAG_TYPEDEF(s_drop_request);
|
||||
tag_typedef_t ntatag_s_drop_response = UINTTAG_TYPEDEF(s_drop_response);
|
||||
tag_typedef_t ntatag_s_client_tr = UINTTAG_TYPEDEF(s_client_tr);
|
||||
tag_typedef_t ntatag_s_server_tr = UINTTAG_TYPEDEF(s_server_tr);
|
||||
tag_typedef_t ntatag_s_dialog_tr = UINTTAG_TYPEDEF(s_dialog_tr);
|
||||
tag_typedef_t ntatag_s_acked_tr = UINTTAG_TYPEDEF(s_acked_tr);
|
||||
tag_typedef_t ntatag_s_canceled_tr = UINTTAG_TYPEDEF(s_canceled_tr);
|
||||
tag_typedef_t ntatag_s_trless_request = UINTTAG_TYPEDEF(s_trless_request);
|
||||
tag_typedef_t ntatag_s_trless_to_tr = UINTTAG_TYPEDEF(s_trless_to_tr);
|
||||
tag_typedef_t ntatag_s_trless_response = UINTTAG_TYPEDEF(s_trless_response);
|
||||
tag_typedef_t ntatag_s_trless_200 = UINTTAG_TYPEDEF(s_trless_200);
|
||||
tag_typedef_t ntatag_s_merged_request = UINTTAG_TYPEDEF(s_merged_request);
|
||||
tag_typedef_t ntatag_s_sent_msg = UINTTAG_TYPEDEF(s_sent_msg);
|
||||
tag_typedef_t ntatag_s_sent_request = UINTTAG_TYPEDEF(s_sent_request);
|
||||
tag_typedef_t ntatag_s_sent_response = UINTTAG_TYPEDEF(s_sent_response);
|
||||
tag_typedef_t ntatag_s_retry_request = UINTTAG_TYPEDEF(s_retry_request);
|
||||
tag_typedef_t ntatag_s_retry_response = UINTTAG_TYPEDEF(s_retry_response);
|
||||
tag_typedef_t ntatag_s_recv_retry = UINTTAG_TYPEDEF(s_recv_retry);
|
||||
tag_typedef_t ntatag_s_tout_request = UINTTAG_TYPEDEF(s_tout_request);
|
||||
tag_typedef_t ntatag_s_tout_response = UINTTAG_TYPEDEF(s_tout_response);
|
||||
tag_typedef_t ntatag_s_irq_hash = USIZETAG_TYPEDEF(s_irq_hash);
|
||||
tag_typedef_t ntatag_s_orq_hash = USIZETAG_TYPEDEF(s_orq_hash);
|
||||
tag_typedef_t ntatag_s_leg_hash = USIZETAG_TYPEDEF(s_leg_hash);
|
||||
tag_typedef_t ntatag_s_irq_hash_used = USIZETAG_TYPEDEF(s_irq_hash_used);
|
||||
tag_typedef_t ntatag_s_orq_hash_used = USIZETAG_TYPEDEF(s_orq_hash_used);
|
||||
tag_typedef_t ntatag_s_leg_hash_used = USIZETAG_TYPEDEF(s_leg_hash_used);
|
||||
tag_typedef_t ntatag_s_recv_msg = USIZETAG_TYPEDEF(s_recv_msg);
|
||||
tag_typedef_t ntatag_s_recv_request = USIZETAG_TYPEDEF(s_recv_request);
|
||||
tag_typedef_t ntatag_s_recv_response = USIZETAG_TYPEDEF(s_recv_response);
|
||||
tag_typedef_t ntatag_s_bad_message = USIZETAG_TYPEDEF(s_bad_message);
|
||||
tag_typedef_t ntatag_s_bad_request = USIZETAG_TYPEDEF(s_bad_request);
|
||||
tag_typedef_t ntatag_s_bad_response = USIZETAG_TYPEDEF(s_bad_response);
|
||||
tag_typedef_t ntatag_s_drop_request = USIZETAG_TYPEDEF(s_drop_request);
|
||||
tag_typedef_t ntatag_s_drop_response = USIZETAG_TYPEDEF(s_drop_response);
|
||||
tag_typedef_t ntatag_s_client_tr = USIZETAG_TYPEDEF(s_client_tr);
|
||||
tag_typedef_t ntatag_s_server_tr = USIZETAG_TYPEDEF(s_server_tr);
|
||||
tag_typedef_t ntatag_s_dialog_tr = USIZETAG_TYPEDEF(s_dialog_tr);
|
||||
tag_typedef_t ntatag_s_acked_tr = USIZETAG_TYPEDEF(s_acked_tr);
|
||||
tag_typedef_t ntatag_s_canceled_tr = USIZETAG_TYPEDEF(s_canceled_tr);
|
||||
tag_typedef_t ntatag_s_trless_request = USIZETAG_TYPEDEF(s_trless_request);
|
||||
tag_typedef_t ntatag_s_trless_to_tr = USIZETAG_TYPEDEF(s_trless_to_tr);
|
||||
tag_typedef_t ntatag_s_trless_response = USIZETAG_TYPEDEF(s_trless_response);
|
||||
tag_typedef_t ntatag_s_trless_200 = USIZETAG_TYPEDEF(s_trless_200);
|
||||
tag_typedef_t ntatag_s_merged_request = USIZETAG_TYPEDEF(s_merged_request);
|
||||
tag_typedef_t ntatag_s_sent_msg = USIZETAG_TYPEDEF(s_sent_msg);
|
||||
tag_typedef_t ntatag_s_sent_request = USIZETAG_TYPEDEF(s_sent_request);
|
||||
tag_typedef_t ntatag_s_sent_response = USIZETAG_TYPEDEF(s_sent_response);
|
||||
tag_typedef_t ntatag_s_retry_request = USIZETAG_TYPEDEF(s_retry_request);
|
||||
tag_typedef_t ntatag_s_retry_response = USIZETAG_TYPEDEF(s_retry_response);
|
||||
tag_typedef_t ntatag_s_recv_retry = USIZETAG_TYPEDEF(s_recv_retry);
|
||||
tag_typedef_t ntatag_s_tout_request = USIZETAG_TYPEDEF(s_tout_request);
|
||||
tag_typedef_t ntatag_s_tout_response = USIZETAG_TYPEDEF(s_tout_response);
|
||||
|
||||
/* Internal */
|
||||
tag_typedef_t ntatag_delay_sending = BOOLTAG_TYPEDEF(delay_sending);
|
||||
|
||||
@@ -59,10 +59,10 @@ NTA_DLL extern tag_typedef_t ntatag_any;
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_mclass;
|
||||
/** Message class used by NTA. @HI */
|
||||
#define NTATAG_MCLASS(x) ntatag_mclass, tag_ptr_v((x))
|
||||
#define NTATAG_MCLASS(x) ntatag_mclass, tag_cptr_v((x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_mclass_ref;
|
||||
#define NTATAG_MCLASS_REF(x) ntatag_mclass_ref, tag_ptr_vr(&(x), (x))
|
||||
#define NTATAG_MCLASS_REF(x) ntatag_mclass_ref, tag_cptr_vr(&(x), (x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_bad_req_mask;
|
||||
/** Mask for bad request messages.
|
||||
@@ -503,184 +503,184 @@ NTA_DLL extern tag_typedef_t ntatag_s_leg_hash_used_ref;
|
||||
ntatag_s_leg_hash_used_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_recv_msg;
|
||||
#define NTATAG_S_RECV_MSG(x) ntatag_s_recv_msg, tag_uint_v(x)
|
||||
#define NTATAG_S_RECV_MSG(x) ntatag_s_recv_msg, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_recv_msg_ref;
|
||||
#define NTATAG_S_RECV_MSG_REF(x) ntatag_s_recv_msg_ref, tag_uint_vr(&(x))
|
||||
#define NTATAG_S_RECV_MSG_REF(x) ntatag_s_recv_msg_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_recv_request;
|
||||
#define NTATAG_S_RECV_REQUEST(x) ntatag_s_recv_request, tag_uint_v(x)
|
||||
#define NTATAG_S_RECV_REQUEST(x) ntatag_s_recv_request, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_recv_request_ref;
|
||||
#define NTATAG_S_RECV_REQUEST_REF(x)\
|
||||
ntatag_s_recv_request_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_recv_request_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_recv_response;
|
||||
#define NTATAG_S_RECV_RESPONSE(x) ntatag_s_recv_response, tag_uint_v(x)
|
||||
#define NTATAG_S_RECV_RESPONSE(x) ntatag_s_recv_response, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_recv_response_ref;
|
||||
#define NTATAG_S_RECV_RESPONSE_REF(x)\
|
||||
ntatag_s_recv_response_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_recv_response_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_bad_message;
|
||||
#define NTATAG_S_BAD_MESSAGE(x) ntatag_s_bad_message, tag_uint_v(x)
|
||||
#define NTATAG_S_BAD_MESSAGE(x) ntatag_s_bad_message, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_bad_message_ref;
|
||||
#define NTATAG_S_BAD_MESSAGE_REF(x)\
|
||||
ntatag_s_bad_message_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_bad_message_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_bad_request;
|
||||
#define NTATAG_S_BAD_REQUEST(x) ntatag_s_bad_request, tag_uint_v(x)
|
||||
#define NTATAG_S_BAD_REQUEST(x) ntatag_s_bad_request, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_bad_request_ref;
|
||||
#define NTATAG_S_BAD_REQUEST_REF(x)\
|
||||
ntatag_s_bad_request_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_bad_request_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_bad_response;
|
||||
#define NTATAG_S_BAD_RESPONSE(x) ntatag_s_bad_response, tag_uint_v(x)
|
||||
#define NTATAG_S_BAD_RESPONSE(x) ntatag_s_bad_response, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_bad_response_ref;
|
||||
#define NTATAG_S_BAD_RESPONSE_REF(x)\
|
||||
ntatag_s_bad_response_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_bad_response_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_drop_request;
|
||||
#define NTATAG_S_DROP_REQUEST(x) ntatag_s_drop_request, tag_uint_v(x)
|
||||
#define NTATAG_S_DROP_REQUEST(x) ntatag_s_drop_request, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_drop_request_ref;
|
||||
#define NTATAG_S_DROP_REQUEST_REF(x)\
|
||||
ntatag_s_drop_request_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_drop_request_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_drop_response;
|
||||
#define NTATAG_S_DROP_RESPONSE(x) ntatag_s_drop_response, tag_uint_v(x)
|
||||
#define NTATAG_S_DROP_RESPONSE(x) ntatag_s_drop_response, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_drop_response_ref;
|
||||
#define NTATAG_S_DROP_RESPONSE_REF(x)\
|
||||
ntatag_s_drop_response_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_drop_response_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_client_tr;
|
||||
#define NTATAG_S_CLIENT_TR(x) ntatag_s_client_tr, tag_uint_v(x)
|
||||
#define NTATAG_S_CLIENT_TR(x) ntatag_s_client_tr, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_client_tr_ref;
|
||||
#define NTATAG_S_CLIENT_TR_REF(x)\
|
||||
ntatag_s_client_tr_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_client_tr_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_server_tr;
|
||||
#define NTATAG_S_SERVER_TR(x) ntatag_s_server_tr, tag_uint_v(x)
|
||||
#define NTATAG_S_SERVER_TR(x) ntatag_s_server_tr, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_server_tr_ref;
|
||||
#define NTATAG_S_SERVER_TR_REF(x)\
|
||||
ntatag_s_server_tr_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_server_tr_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_dialog_tr;
|
||||
#define NTATAG_S_DIALOG_TR(x) ntatag_s_dialog_tr, tag_uint_v(x)
|
||||
#define NTATAG_S_DIALOG_TR(x) ntatag_s_dialog_tr, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_dialog_tr_ref;
|
||||
#define NTATAG_S_DIALOG_TR_REF(x)\
|
||||
ntatag_s_dialog_tr_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_dialog_tr_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_acked_tr;
|
||||
#define NTATAG_S_ACKED_TR(x) ntatag_s_acked_tr, tag_uint_v(x)
|
||||
#define NTATAG_S_ACKED_TR(x) ntatag_s_acked_tr, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_acked_tr_ref;
|
||||
#define NTATAG_S_ACKED_TR_REF(x) ntatag_s_acked_tr_ref, tag_uint_vr(&(x))
|
||||
#define NTATAG_S_ACKED_TR_REF(x) ntatag_s_acked_tr_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_canceled_tr;
|
||||
#define NTATAG_S_CANCELED_TR(x) ntatag_s_canceled_tr, tag_uint_v(x)
|
||||
#define NTATAG_S_CANCELED_TR(x) ntatag_s_canceled_tr, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_canceled_tr_ref;
|
||||
#define NTATAG_S_CANCELED_TR_REF(x) \
|
||||
ntatag_s_canceled_tr_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_canceled_tr_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_trless_request;
|
||||
#define NTATAG_S_TRLESS_REQUEST(x) ntatag_s_trless_request, tag_uint_v(x)
|
||||
#define NTATAG_S_TRLESS_REQUEST(x) ntatag_s_trless_request, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_trless_request_ref;
|
||||
#define NTATAG_S_TRLESS_REQUEST_REF(x)\
|
||||
ntatag_s_trless_request_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_trless_request_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_trless_to_tr;
|
||||
#define NTATAG_S_TRLESS_TO_TR(x) ntatag_s_trless_to_tr, tag_uint_v(x)
|
||||
#define NTATAG_S_TRLESS_TO_TR(x) ntatag_s_trless_to_tr, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_trless_to_tr_ref;
|
||||
#define NTATAG_S_TRLESS_TO_TR_REF(x)\
|
||||
ntatag_s_trless_to_tr_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_trless_to_tr_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_trless_response;
|
||||
#define NTATAG_S_TRLESS_RESPONSE(x) ntatag_s_trless_response, tag_uint_v(x)
|
||||
#define NTATAG_S_TRLESS_RESPONSE(x) ntatag_s_trless_response, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_trless_response_ref;
|
||||
#define NTATAG_S_TRLESS_RESPONSE_REF(x)\
|
||||
ntatag_s_trless_response_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_trless_response_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_trless_200;
|
||||
#define NTATAG_S_TRLESS_200(x) ntatag_s_trless_200, tag_uint_v(x)
|
||||
#define NTATAG_S_TRLESS_200(x) ntatag_s_trless_200, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_trless_200_ref;
|
||||
#define NTATAG_S_TRLESS_200_REF(x)\
|
||||
ntatag_s_trless_200_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_trless_200_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_merged_request;
|
||||
#define NTATAG_S_MERGED_REQUEST(x) ntatag_s_merged_request, tag_uint_v(x)
|
||||
#define NTATAG_S_MERGED_REQUEST(x) ntatag_s_merged_request, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_merged_request_ref;
|
||||
#define NTATAG_S_MERGED_REQUEST_REF(x)\
|
||||
ntatag_s_merged_request_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_merged_request_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_sent_msg;
|
||||
#define NTATAG_S_SENT_MSG(x) ntatag_s_sent_msg, tag_uint_v(x)
|
||||
#define NTATAG_S_SENT_MSG(x) ntatag_s_sent_msg, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_sent_msg_ref;
|
||||
#define NTATAG_S_SENT_MSG_REF(x)\
|
||||
ntatag_s_sent_msg_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_sent_msg_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_sent_request;
|
||||
#define NTATAG_S_SENT_REQUEST(x) ntatag_s_sent_request, tag_uint_v(x)
|
||||
#define NTATAG_S_SENT_REQUEST(x) ntatag_s_sent_request, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_sent_request_ref;
|
||||
#define NTATAG_S_SENT_REQUEST_REF(x)\
|
||||
ntatag_s_sent_request_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_sent_request_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_sent_response;
|
||||
#define NTATAG_S_SENT_RESPONSE(x) ntatag_s_sent_response, tag_uint_v(x)
|
||||
#define NTATAG_S_SENT_RESPONSE(x) ntatag_s_sent_response, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_sent_response_ref;
|
||||
#define NTATAG_S_SENT_RESPONSE_REF(x)\
|
||||
ntatag_s_sent_response_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_sent_response_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_retry_request;
|
||||
#define NTATAG_S_RETRY_REQUEST(x) ntatag_s_retry_request, tag_uint_v(x)
|
||||
#define NTATAG_S_RETRY_REQUEST(x) ntatag_s_retry_request, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_retry_request_ref;
|
||||
#define NTATAG_S_RETRY_REQUEST_REF(x)\
|
||||
ntatag_s_retry_request_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_retry_request_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_retry_response;
|
||||
#define NTATAG_S_RETRY_RESPONSE(x) ntatag_s_retry_response, tag_uint_v(x)
|
||||
#define NTATAG_S_RETRY_RESPONSE(x) ntatag_s_retry_response, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_retry_response_ref;
|
||||
#define NTATAG_S_RETRY_RESPONSE_REF(x)\
|
||||
ntatag_s_retry_response_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_retry_response_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_recv_retry;
|
||||
#define NTATAG_S_RECV_RETRY(x) ntatag_s_recv_retry, tag_uint_v(x)
|
||||
#define NTATAG_S_RECV_RETRY(x) ntatag_s_recv_retry, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_recv_retry_ref;
|
||||
#define NTATAG_S_RECV_RETRY_REF(x)\
|
||||
ntatag_s_recv_retry_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_recv_retry_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_tout_request;
|
||||
#define NTATAG_S_TOUT_REQUEST(x) ntatag_s_tout_request, tag_uint_v(x)
|
||||
#define NTATAG_S_TOUT_REQUEST(x) ntatag_s_tout_request, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_tout_request_ref;
|
||||
#define NTATAG_S_TOUT_REQUEST_REF(x)\
|
||||
ntatag_s_tout_request_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_tout_request_ref, tag_usize_vr(&(x))
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_tout_response;
|
||||
#define NTATAG_S_TOUT_RESPONSE(x) ntatag_s_tout_response, tag_uint_v(x)
|
||||
#define NTATAG_S_TOUT_RESPONSE(x) ntatag_s_tout_response, tag_usize_v(x)
|
||||
|
||||
NTA_DLL extern tag_typedef_t ntatag_s_tout_response_ref;
|
||||
#define NTATAG_S_TOUT_RESPONSE_REF(x)\
|
||||
ntatag_s_tout_response_ref, tag_uint_vr(&(x))
|
||||
ntatag_s_tout_response_ref, tag_usize_vr(&(x))
|
||||
|
||||
SOFIA_END_DECLS
|
||||
|
||||
|
||||
@@ -559,18 +559,18 @@ int api_test_stats(agent_t *ag)
|
||||
|
||||
nta_agent_t *nta;
|
||||
|
||||
uint32_t irq_hash = -1, orq_hash = -1, leg_hash = -1;
|
||||
uint32_t recv_msg = -1, sent_msg = -1;
|
||||
uint32_t recv_request = -1, recv_response = -1;
|
||||
uint32_t bad_message = -1, bad_request = -1, bad_response = -1;
|
||||
uint32_t drop_request = -1, drop_response = -1;
|
||||
uint32_t client_tr = -1, server_tr = -1, dialog_tr = -1;
|
||||
uint32_t acked_tr = -1, canceled_tr = -1;
|
||||
uint32_t trless_request = -1, trless_to_tr = -1, trless_response = -1;
|
||||
uint32_t trless_200 = -1, merged_request = -1;
|
||||
uint32_t sent_request = -1, sent_response = -1;
|
||||
uint32_t retry_request = -1, retry_response = -1, recv_retry = -1;
|
||||
uint32_t tout_request = -1, tout_response = -1;
|
||||
usize_t irq_hash = -1, orq_hash = -1, leg_hash = -1;
|
||||
usize_t recv_msg = -1, sent_msg = -1;
|
||||
usize_t recv_request = -1, recv_response = -1;
|
||||
usize_t bad_message = -1, bad_request = -1, bad_response = -1;
|
||||
usize_t drop_request = -1, drop_response = -1;
|
||||
usize_t client_tr = -1, server_tr = -1, dialog_tr = -1;
|
||||
usize_t acked_tr = -1, canceled_tr = -1;
|
||||
usize_t trless_request = -1, trless_to_tr = -1, trless_response = -1;
|
||||
usize_t trless_200 = -1, merged_request = -1;
|
||||
usize_t sent_request = -1, sent_response = -1;
|
||||
usize_t retry_request = -1, retry_response = -1, recv_retry = -1;
|
||||
usize_t tout_request = -1, tout_response = -1;
|
||||
|
||||
TEST_1(nta = nta_agent_create(ag->ag_root, (url_string_t *)"sip:*:*",
|
||||
NULL, NULL, TAG_END()));
|
||||
@@ -1301,10 +1301,10 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
if (o_attach) {
|
||||
char line[10];
|
||||
char *response, line[10];
|
||||
printf("nua_test: pid %lu\n", (unsigned long)getpid());
|
||||
printf("<Press RETURN to continue>\n");
|
||||
fgets(line, sizeof line, stdin);
|
||||
response = fgets(line, sizeof line, stdin);
|
||||
}
|
||||
#if HAVE_ALARM
|
||||
else if (o_alarm) {
|
||||
|
||||
Reference in new issue
Block a user