mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-03-30 10:15:52 +00:00
FS-7125 Added sofia event "wrong_calls_state". This is for fail2ban logging
This commit is contained in:
parent
0fa449d573
commit
ff1c384e13
@ -598,6 +598,15 @@ switch_status_t sofia_on_hangup(switch_core_session_t *session)
|
||||
switch_safe_free(bye_headers);
|
||||
}
|
||||
|
||||
if (cause == SWITCH_CAUSE_WRONG_CALL_STATE) {
|
||||
switch_event_t *s_event;
|
||||
if (switch_event_create_subclass(&s_event, SWITCH_EVENT_CUSTOM, MY_EVENT_WRONG_CALL_STATE) == SWITCH_STATUS_SUCCESS) {
|
||||
switch_event_add_header_string(s_event, SWITCH_STACK_BOTTOM, "network_ip", tech_pvt->mparams.remote_ip);
|
||||
switch_event_add_header(s_event, SWITCH_STACK_BOTTOM, "network_port", "%d", tech_pvt->mparams.remote_port);
|
||||
switch_event_fire(&s_event);
|
||||
}
|
||||
}
|
||||
|
||||
sofia_clear_flag(tech_pvt, TFLAG_IO);
|
||||
|
||||
if (tech_pvt->sofia_private) {
|
||||
|
@ -97,6 +97,7 @@ typedef struct private_object private_object_t;
|
||||
#define MY_EVENT_ERROR "sofia::error"
|
||||
#define MY_EVENT_PROFILE_START "sofia::profile_start"
|
||||
#define MY_EVENT_NOTIFY_WATCHED_HEADER "sofia::notify_watched_header"
|
||||
#define MY_EVENT_WRONG_CALL_STATE "sofia::wrong_call_state"
|
||||
|
||||
#define MY_EVENT_TRANSFEROR "sofia::transferor"
|
||||
#define MY_EVENT_TRANSFEREE "sofia::transferee"
|
||||
|
@ -9491,6 +9491,10 @@ void sofia_handle_sip_i_invite(switch_core_session_t *session, nua_t *nua, sofia
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
tech_pvt->mparams.remote_ip = switch_core_session_strdup(session, network_ip);
|
||||
tech_pvt->mparams.remote_port = network_port;
|
||||
|
||||
if (!is_auth &&
|
||||
(sofia_test_pflag(profile, PFLAG_AUTH_CALLS)
|
||||
|| (!sofia_test_pflag(profile, PFLAG_BLIND_AUTH) && (sip->sip_proxy_authorization || sip->sip_authorization)))) {
|
||||
@ -9517,11 +9521,6 @@ void sofia_handle_sip_i_invite(switch_core_session_t *session, nua_t *nua, sofia
|
||||
is_auth++;
|
||||
}
|
||||
|
||||
|
||||
|
||||
tech_pvt->mparams.remote_ip = switch_core_session_strdup(session, network_ip);
|
||||
tech_pvt->mparams.remote_port = network_port;
|
||||
|
||||
channel = tech_pvt->channel = switch_core_session_get_channel(session);
|
||||
|
||||
switch_channel_set_variable_printf(channel, "sip_local_network_addr", "%s", profile->extsipip ? profile->extsipip : profile->sipip);
|
||||
|
Loading…
x
Reference in New Issue
Block a user