forked from Mirrors/freeswitch
FS-3794 please repat all tests with this version
This commit is contained in:
parent
708f8f1fc8
commit
ef097a19b9
@ -1 +1 @@
|
||||
Mon Jan 16 12:47:24 CST 2012
|
||||
Mon Jan 16 17:26:19 CST 2012
|
||||
|
@ -428,12 +428,16 @@ int nua_subscribe_server_report(nua_server_request_t *sr, tagi_t const *tags)
|
||||
* @sa @RFC3265, #nua_i_subscribe, #nua_i_refer, NUTAG_ALLOW_EVENTS()
|
||||
*/
|
||||
|
||||
#if 0
|
||||
static int nua_notify_client_init(nua_client_request_t *cr,
|
||||
msg_t *, sip_t *,
|
||||
tagi_t const *tags);
|
||||
|
||||
|
||||
static int nua_notify_client_init_etag(nua_client_request_t *cr,
|
||||
msg_t *msg, sip_t *sip,
|
||||
tagi_t const *tags);
|
||||
|
||||
static int nua_notify_client_request(nua_client_request_t *cr,
|
||||
msg_t *, sip_t *,
|
||||
tagi_t const *tags);
|
||||
@ -442,7 +446,8 @@ static int nua_notify_client_report(nua_client_request_t *cr,
|
||||
sip_t const *sip,
|
||||
nta_outgoing_t *orq,
|
||||
tagi_t const *tags);
|
||||
|
||||
#endif
|
||||
#if 0
|
||||
static nua_client_methods_t const nua_notify_client_methods = {
|
||||
SIP_METHOD_NOTIFY, /* crm_method, crm_method_name */
|
||||
0, /* crm_extra */
|
||||
@ -460,6 +465,25 @@ static nua_client_methods_t const nua_notify_client_methods = {
|
||||
nua_notify_client_report, /* crm_report */
|
||||
NULL, /* crm_complete */
|
||||
};
|
||||
#endif
|
||||
|
||||
nua_client_methods_t const nua_notify_client_methods = {
|
||||
SIP_METHOD_NOTIFY, /* crm_method, crm_method_name */
|
||||
0, /* crm_extra */
|
||||
{ /* crm_flags */
|
||||
/* create_dialog */ 1,
|
||||
/* in_dialog */ 1,
|
||||
/* target refresh */ 1
|
||||
},
|
||||
NULL, /* crm_template */
|
||||
NULL, /* crm_init */
|
||||
NULL, /* crm_send */
|
||||
NULL, /* crm_check_restart */
|
||||
NULL, /* crm_recv */
|
||||
NULL, /* crm_preliminary */
|
||||
NULL, /* crm_report */
|
||||
NULL, /* crm_complete */
|
||||
};
|
||||
|
||||
/**@internal Send NOTIFY. */
|
||||
int nua_stack_notify(nua_t *nua,
|
||||
@ -469,7 +493,7 @@ int nua_stack_notify(nua_t *nua,
|
||||
{
|
||||
return nua_client_create(nh, e, &nua_notify_client_methods, tags);
|
||||
}
|
||||
|
||||
#if 0
|
||||
static int nua_notify_client_init(nua_client_request_t *cr,
|
||||
msg_t *msg, sip_t *sip,
|
||||
tagi_t const *tags)
|
||||
@ -715,7 +739,7 @@ int nua_notify_client_request(nua_client_request_t *cr,
|
||||
|
||||
return nua_base_client_request(cr, msg, sip, tags);
|
||||
}
|
||||
|
||||
#endif
|
||||
/** @NUA_EVENT nua_r_notify
|
||||
*
|
||||
* Response to an outgoing @b NOTIFY request.
|
||||
@ -747,7 +771,7 @@ int nua_notify_client_request(nua_client_request_t *cr,
|
||||
*
|
||||
* @END_NUA_EVENT
|
||||
*/
|
||||
|
||||
#if 0
|
||||
static int nua_notify_client_report(nua_client_request_t *cr,
|
||||
int status, char const *phrase,
|
||||
sip_t const *sip,
|
||||
@ -782,7 +806,7 @@ static int nua_notify_client_report(nua_client_request_t *cr,
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
static void nua_notify_usage_refresh(nua_handle_t *nh,
|
||||
nua_dialog_state_t *ds,
|
||||
|
@ -1703,12 +1703,12 @@ static void send_presence_notify(sofia_profile_t *profile,
|
||||
cseq = sip_cseq_create(nh->nh_home, callsequence, SIP_METHOD_NOTIFY);
|
||||
nua_handle_bind(nh, &mod_sofia_globals.destroy_private);
|
||||
|
||||
if (exptime > 0) {
|
||||
switch_snprintf(sstr, sizeof(sstr), "active;expires=%u", (unsigned) exptime);
|
||||
} else {
|
||||
switch_snprintf(sstr, sizeof(sstr), "terminated;reason=noresource");
|
||||
if (exptime <= 0) {
|
||||
exptime = 5;
|
||||
}
|
||||
|
||||
switch_snprintf(sstr, sizeof(sstr), "active;expires=%u", (unsigned) exptime);
|
||||
|
||||
tmp = (char *)contact;
|
||||
contact = sofia_glue_get_url_from_contact(tmp, 0);
|
||||
|
||||
@ -3701,6 +3701,8 @@ void sofia_presence_check_subscriptions(sofia_profile_t *profile, time_t now)
|
||||
char *sql;
|
||||
|
||||
if (now) {
|
||||
|
||||
#if 0 // I think actually doing it right and sending terminated notify breaks dumb phones.
|
||||
sql = switch_mprintf("select full_to, full_from, contact, expires, call_id, event, network_ip, network_port, "
|
||||
"NULL as ct, NULL as pt "
|
||||
" from sip_subscriptions where (expires = -1 or (expires > 0 and expires <= %ld)) and hostname='%q'",
|
||||
@ -3708,6 +3710,7 @@ void sofia_presence_check_subscriptions(sofia_profile_t *profile, time_t now)
|
||||
|
||||
sofia_glue_execute_sql_callback(profile, profile->ireg_mutex, sql, sofia_presence_send_sql, profile);
|
||||
switch_safe_free(sql);
|
||||
#endif
|
||||
|
||||
sql = switch_mprintf("delete from sip_subscriptions where (expires = -1 or (expires > 0 and expires <= %ld)) and hostname='%q'",
|
||||
(long) now, mod_sofia_globals.hostname);
|
||||
|
@ -572,19 +572,6 @@ int sofia_reg_nat_callback(void *pArg, int argc, char **argv, char **columnNames
|
||||
}
|
||||
|
||||
|
||||
int sofia_sub_del_callback(void *pArg, int argc, char **argv, char **columnNames)
|
||||
{
|
||||
sofia_profile_t *profile = (sofia_profile_t *) pArg;
|
||||
nua_handle_t *nh;
|
||||
|
||||
if (argv[0]) {
|
||||
if ((nh = nua_handle_by_call_id(profile->nua, argv[0]))) {
|
||||
nua_handle_destroy(nh);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void sofia_reg_send_reboot(sofia_profile_t *profile, const char *user, const char *host, const char *contact, const char *user_agent,
|
||||
const char *network_ip)
|
||||
{
|
||||
@ -760,18 +747,6 @@ void sofia_reg_check_expire(sofia_profile_t *profile, time_t now, int reboot)
|
||||
|
||||
sofia_glue_actually_execute_sql(profile, sql, NULL);
|
||||
|
||||
if (now) {
|
||||
switch_snprintf(sql, sizeof(sql),
|
||||
"select call_id from sip_subscriptions where (expires = -1 or (expires > 0 and expires <= %ld)) and hostname='%s'", (long) now,
|
||||
mod_sofia_globals.hostname);
|
||||
} else {
|
||||
switch_snprintfv(sql, sizeof(sql), "select sub_to_user,sub_to_host,call_id from sip_subscriptions where expires >= -1 and hostname='%q'",
|
||||
mod_sofia_globals.hostname);
|
||||
}
|
||||
|
||||
sofia_glue_execute_sql_callback(profile, NULL, sql, sofia_sub_del_callback, profile);
|
||||
|
||||
|
||||
sofia_presence_check_subscriptions(profile, now);
|
||||
|
||||
if (now) {
|
||||
@ -879,10 +854,6 @@ void sofia_reg_check_sync(sofia_profile_t *profile)
|
||||
switch_snprintfv(sql, sizeof(sql), "delete from sip_authentication where expires > 0 and hostname='%q'", mod_sofia_globals.hostname);
|
||||
sofia_glue_actually_execute_sql(profile, sql, NULL);
|
||||
|
||||
switch_snprintfv(sql, sizeof(sql), "select sub_to_user,sub_to_host,call_id from sip_subscriptions where expires >= -1 and hostname='%q'",
|
||||
mod_sofia_globals.hostname);
|
||||
sofia_glue_execute_sql_callback(profile, NULL, sql, sofia_sub_del_callback, profile);
|
||||
|
||||
switch_snprintfv(sql, sizeof(sql), "delete from sip_subscriptions where expires >= -1 and hostname='%q'", mod_sofia_globals.hostname);
|
||||
sofia_glue_actually_execute_sql(profile, sql, NULL);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user