referred_by = sofia_glue_get_url_from_contact(sip_header_as_string(nua_handle_home(nh), (void *) sip->sip_referred_by), 0);
ref_by_user = sip->sip_referred_by->b_url->url_user;
}
+ else if(sip->sip_to && sip->sip_to->a_url)
+ {
+ referred_by = sofia_glue_get_url_from_contact(sip_header_as_string(nua_handle_home(nh), (void *) sip->sip_to), 0);
+ ref_by_user = sip->sip_to->a_url->url_user;
+ }
- if (sip->sip_request && sip->sip_request->rq_url) {
- req_user = sip->sip_request->rq_url->url_user;
- req_host = sip->sip_request->rq_url->url_host;
+ if (sip->sip_to && sip->sip_to->a_url) {
+ req_user = sip->sip_to->a_url->url_user;
+ req_host = sip->sip_to->a_url->url_host;
}
if (switch_event_create(&event, SWITCH_EVENT_CALL_SETUP_REQ) == SWITCH_STATUS_SUCCESS) {
sip_to_tag(nh->nh_home, sip->sip_to, to_tag);
}
- nua_respond(nh, SIP_202_ACCEPTED, NUTAG_WITH_THIS_MSG(de->data->e_msg), TAG_END());
+ nua_respond(nh, SIP_202_ACCEPTED, SIPTAG_TO(sip->sip_to), NUTAG_WITH_THIS_MSG(de->data->e_msg), TAG_END());
switch_safe_free(method);
switch_safe_free(full_url);
sofia_glue_execute_sql_now(profile, &sql, SWITCH_TRUE);
}
-
- if (switch_true(final)) {
- sql = switch_mprintf("delete from sip_subscriptions where "
- "hostname='%q' and profile_name='%q' and sub_to_user='%q' and sub_to_host='%q' and event='%q'",
- mod_sofia_globals.hostname, profile->name,
- from_user, from_host, event_str);
-
- sofia_glue_execute_sql_now(profile, &sql, SWITCH_TRUE);
- }
-
-
-
-
-
if (call_id) {
sql = switch_mprintf("select full_to, full_from, contact %q ';_;isfocus', expires, call_id, event, network_ip, network_port, "
"'%q' as ct,'%q' as pt "
}
sofia_glue_execute_sql_callback(profile, profile->ireg_mutex, sql, sofia_presence_send_sql, &cb);
+
+ if (switch_true(final)) {
+ sql = switch_mprintf("delete from sip_subscriptions where "
+ "hostname='%q' and profile_name='%q' and sub_to_user='%q' and sub_to_host='%q' and event='%q'",
+ mod_sofia_globals.hostname, profile->name,
+ from_user, from_host, event_str);
+
+ sofia_glue_execute_sql_now(profile, &sql, SWITCH_TRUE);
+ }
switch_safe_free(sql);
}