mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-27 20:59:50 +00:00
Wed Sep 3 14:21:06 EDT 2008 Pekka Pessi <first.last@nokia.com>
* nua: using nua_client_set_terminating() git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9422 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
ef020e6016
commit
04855d3cc0
@ -1 +1 @@
|
|||||||
Wed Sep 3 14:29:36 EDT 2008
|
Wed Sep 3 14:31:22 EDT 2008
|
||||||
|
@ -564,9 +564,9 @@ su_inline int nua_client_is_reporting(nua_client_request_t const *cr)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Mark client request as a terminating one */
|
/** Mark client request as a terminating one */
|
||||||
su_inline void nua_client_terminating(nua_client_request_t *cr)
|
su_inline void nua_client_set_terminating(nua_client_request_t *cr, int value)
|
||||||
{
|
{
|
||||||
cr->cr_terminating = 1;
|
cr->cr_terminating = value != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int nua_client_init_request(nua_client_request_t *cr);
|
int nua_client_init_request(nua_client_request_t *cr);
|
||||||
|
@ -696,7 +696,7 @@ int nua_notify_client_request(nua_client_request_t *cr,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (nu->nu_substate == nua_substate_terminated)
|
if (nu->nu_substate == nua_substate_terminated)
|
||||||
cr->cr_terminating = 1;
|
nua_client_set_terminating(cr, 1);
|
||||||
|
|
||||||
if (cr->cr_terminating) {
|
if (cr->cr_terminating) {
|
||||||
nua_server_request_t *sr;
|
nua_server_request_t *sr;
|
||||||
@ -704,7 +704,7 @@ int nua_notify_client_request(nua_client_request_t *cr,
|
|||||||
if (sr->sr_usage == du) {
|
if (sr->sr_usage == du) {
|
||||||
/* If subscribe has not been responded, don't terminate usage by NOTIFY */
|
/* If subscribe has not been responded, don't terminate usage by NOTIFY */
|
||||||
sr->sr_terminating = 1;
|
sr->sr_terminating = 1;
|
||||||
cr->cr_terminating = 0;
|
nua_client_set_terminating(cr, 0);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -338,7 +338,7 @@ int nua_publish_client_request(nua_client_request_t *cr,
|
|||||||
cr->cr_event != nua_r_publish ||
|
cr->cr_event != nua_r_publish ||
|
||||||
(du && du->du_shutdown) ||
|
(du && du->du_shutdown) ||
|
||||||
(sip->sip_expires && sip->sip_expires->ex_delta == 0);
|
(sip->sip_expires && sip->sip_expires->ex_delta == 0);
|
||||||
cr->cr_terminating = un;
|
nua_client_set_terminating(cr, un);
|
||||||
done = un;
|
done = un;
|
||||||
|
|
||||||
if (du) {
|
if (du) {
|
||||||
|
@ -645,7 +645,7 @@ static int nua_register_client_init(nua_client_request_t *cr,
|
|||||||
unreg = cr->cr_event != nua_r_register ||
|
unreg = cr->cr_event != nua_r_register ||
|
||||||
(sip->sip_expires && sip->sip_expires->ex_delta == 0);
|
(sip->sip_expires && sip->sip_expires->ex_delta == 0);
|
||||||
if (unreg)
|
if (unreg)
|
||||||
nua_client_terminating(cr);
|
nua_client_set_terminating(cr, 1);
|
||||||
|
|
||||||
du = nua_dialog_usage_add(nh, nh->nh_ds, nua_register_usage, NULL);
|
du = nua_dialog_usage_add(nh, nh->nh_ds, nua_register_usage, NULL);
|
||||||
if (du == NULL)
|
if (du == NULL)
|
||||||
@ -725,7 +725,7 @@ int nua_register_client_request(nua_client_request_t *cr,
|
|||||||
|
|
||||||
if ((du && du->du_shutdown) ||
|
if ((du && du->du_shutdown) ||
|
||||||
(sip->sip_expires && sip->sip_expires->ex_delta == 0))
|
(sip->sip_expires && sip->sip_expires->ex_delta == 0))
|
||||||
nua_client_terminating(cr);
|
nua_client_set_terminating(cr, 1);
|
||||||
|
|
||||||
if (contacts) {
|
if (contacts) {
|
||||||
if (!cr->cr_terminating) {
|
if (!cr->cr_terminating) {
|
||||||
@ -734,7 +734,7 @@ int nua_register_client_request(nua_client_request_t *cr,
|
|||||||
break;
|
break;
|
||||||
/* All contacts have expires=0 */
|
/* All contacts have expires=0 */
|
||||||
if (m == NULL)
|
if (m == NULL)
|
||||||
nua_client_terminating(cr);
|
nua_client_set_terminating(cr, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1966,7 +1966,7 @@ int nua_base_server_report(nua_server_request_t *sr, tagi_t const *tags)
|
|||||||
*
|
*
|
||||||
* @par Terminating Dialog Usages and Dialogs
|
* @par Terminating Dialog Usages and Dialogs
|
||||||
*
|
*
|
||||||
* The response can be marked as terminating with nua_client_terminating().
|
* The response is marked as terminating with nua_client_set_terminating().
|
||||||
* When a terminating request completes the dialog usage is removed and the
|
* When a terminating request completes the dialog usage is removed and the
|
||||||
* dialog is destroyed (unless there is an another active usage).
|
* dialog is destroyed (unless there is an another active usage).
|
||||||
*/
|
*/
|
||||||
@ -2499,7 +2499,7 @@ int nua_client_restart_request(nua_client_request_t *cr,
|
|||||||
if (sip_add_tagis(cr->cr_msg, NULL, &tags) < 0)
|
if (sip_add_tagis(cr->cr_msg, NULL, &tags) < 0)
|
||||||
/* XXX */;
|
/* XXX */;
|
||||||
|
|
||||||
cr->cr_terminating = terminating;
|
nua_client_set_terminating(cr, terminating);
|
||||||
|
|
||||||
return nua_client_request_try(cr);
|
return nua_client_request_try(cr);
|
||||||
}
|
}
|
||||||
@ -2528,7 +2528,7 @@ int nua_client_resend_request(nua_client_request_t *cr,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (terminating)
|
if (terminating)
|
||||||
cr->cr_terminating = terminating;
|
nua_client_set_terminating(cr, terminating);
|
||||||
|
|
||||||
if (nua_client_request_queue(cr))
|
if (nua_client_request_queue(cr))
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -250,7 +250,7 @@ static int nua_subscribe_client_request(nua_client_request_t *cr,
|
|||||||
sip_time_t expires = 0;
|
sip_time_t expires = 0;
|
||||||
|
|
||||||
if (cr->cr_event == nua_r_destroy || !du || du->du_shutdown)
|
if (cr->cr_event == nua_r_destroy || !du || du->du_shutdown)
|
||||||
cr->cr_terminating = 1;
|
nua_client_set_terminating(cr, 1);
|
||||||
|
|
||||||
if (du) {
|
if (du) {
|
||||||
struct event_usage *eu = nua_dialog_usage_private(du);
|
struct event_usage *eu = nua_dialog_usage_private(du);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user