Module ocs_diameter_disconnect_fsm
This gen_fsm behaviour callback module
implements sending DIAMETER Abort-Session-Request to DIAMETER
credit-control clients (Network Access Servers) using ocs
application.
Copyright © 2016 - 2026 SigScale Global Inc.
Behaviours: gen_fsm.
References
This gen_fsm behaviour callback module
implements sending DIAMETER Abort-Session-Request to DIAMETER
credit-control clients (Network Access Servers) using ocs
application.
init(Args) -> Result
- Args = list()
- Result = {ok, StateName, StateData} | {ok, StateName, StateData, Timeout} | {ok, StateName, StateData, hibernate} | {stop, Reason} | ignore
- StateName = atom()
- StateData = #statedata{diameter_service = term(), app_alias = term(), session_id = string(), origin_host = string() | binary(), destination_host = string() | binary(), origin_realm = string() | binary(), destination_realm = string() | binary(), retry_time = integer(), retry_count = integer(), auth_app_id = integer()}
- Timeout = non_neg_integer() | infinity
- Reason = term()
Initialize the ocs_diameter_disconnect_fsm finite state machine.
See also: //stdlib/gen_fsm:init/1.
send_request(Event, StateData) -> Result
- Event = timeout | term()
- StateData = #statedata{diameter_service = term(), app_alias = term(), session_id = string(), origin_host = string() | binary(), destination_host = string() | binary(), origin_realm = string() | binary(), destination_realm = string() | binary(), retry_time = integer(), retry_count = integer(), auth_app_id = integer()}
- Result = {next_state, NextStateName, NewStateData} | {next_state, NextStateName, NewStateData, Timeout} | {next_state, NextStateName, NewStateData, hibernate} | {stop, Reason, NewStateData}
- NextStateName = atom()
- NewStateData = #statedata{diameter_service = term(), app_alias = term(), session_id = string(), origin_host = string() | binary(), destination_host = string() | binary(), origin_realm = string() | binary(), destination_realm = string() | binary(), retry_time = integer(), retry_count = integer(), auth_app_id = integer()}
- Timeout = non_neg_integer() | infinity
- Reason = normal | term()
Handle events sent with gen_fsm:send_event/2 in the send_request state. This state is responsible
for sending a DIAMETER Abort-Session-Request to an access point.
@see //stdlib/gen_fsm:StateName/2
receive_response(Event, StateData) -> Result
- Event = timeout | term()
- StateData = #statedata{diameter_service = term(), app_alias = term(), session_id = string(), origin_host = string() | binary(), destination_host = string() | binary(), origin_realm = string() | binary(), destination_realm = string() | binary(), retry_time = integer(), retry_count = integer(), auth_app_id = integer()}
- Result = {next_state, NextStateName, NewStateData} | {next_state, NextStateName, NewStateData, Timeout} | {next_state, NextStateName, NewStateData, hibernate} | {stop, Reason, NewStateData}
- NextStateName = atom()
- NewStateData = #statedata{diameter_service = term(), app_alias = term(), session_id = string(), origin_host = string() | binary(), destination_host = string() | binary(), origin_realm = string() | binary(), destination_realm = string() | binary(), retry_time = integer(), retry_count = integer(), auth_app_id = integer()}
- Timeout = non_neg_integer() | infinity
- Reason = normal | term()
Handle events sent with gen_fsm:send_event/2 in the receive_response state. This state is responsible
for recieving a DIAMETER Abort-Session-Answer from an access point.
@see //stdlib/gen_fsm:StateName/2
handle_event(Event, StateName, StateData) -> Result
- Event = term()
- StateName = atom()
- StateData = #statedata{diameter_service = term(), app_alias = term(), session_id = string(), origin_host = string() | binary(), destination_host = string() | binary(), origin_realm = string() | binary(), destination_realm = string() | binary(), retry_time = integer(), retry_count = integer(), auth_app_id = integer()}
- Result = {next_state, NextStateName, NewStateData} | {next_state, NextStateName, NewStateData, Timeout} | {next_state, NextStateName, NewStateData, hibernate} | {stop, Reason, NewStateData}
- NextStateName = atom()
- NewStateData = #statedata{diameter_service = term(), app_alias = term(), session_id = string(), origin_host = string() | binary(), destination_host = string() | binary(), origin_realm = string() | binary(), destination_realm = string() | binary(), retry_time = integer(), retry_count = integer(), auth_app_id = integer()}
- Timeout = non_neg_integer() | infinity
- Reason = normal | term()
Handle an event sent with
gen_fsm:send_all_state_event/2.
See also: //stdlib/gen_fsm:handle_event/3.
handle_sync_event(Event, From, StateName, StateData) -> Result
- Event = term()
- From = {Pid::pid(), Tag::term()}
- StateName = atom()
- StateData = #statedata{diameter_service = term(), app_alias = term(), session_id = string(), origin_host = string() | binary(), destination_host = string() | binary(), origin_realm = string() | binary(), destination_realm = string() | binary(), retry_time = integer(), retry_count = integer(), auth_app_id = integer()}
- Result = {reply, Reply, NextStateName, NewStateData} | {reply, Reply, NextStateName, NewStateData, Timeout} | {reply, Reply, NextStateName, NewStateData, hibernate} | {next_state, NextStateName, NewStateData} | {next_state, NextStateName, NewStateData, Timeout} | {next_state, NextStateName, NewStateData, hibernate} | {stop, Reason, Reply, NewStateData} | {stop, Reason, NewStateData}
- Reply = term()
- NextStateName = atom()
- NewStateData = #statedata{diameter_service = term(), app_alias = term(), session_id = string(), origin_host = string() | binary(), destination_host = string() | binary(), origin_realm = string() | binary(), destination_realm = string() | binary(), retry_time = integer(), retry_count = integer(), auth_app_id = integer()}
- Timeout = non_neg_integer() | infinity
- Reason = normal | term()
Handle an event sent with
gen_fsm:sync_send_all_state_event/2,3.
See also: //stdlib/gen_fsm:handle_sync_event/4.
handle_info(Info, StateName, StateData) -> Result
- Info = term()
- StateName = atom()
- StateData = #statedata{diameter_service = term(), app_alias = term(), session_id = string(), origin_host = string() | binary(), destination_host = string() | binary(), origin_realm = string() | binary(), destination_realm = string() | binary(), retry_time = integer(), retry_count = integer(), auth_app_id = integer()}
- Result = {next_state, NextStateName, NewStateData} | {next_state, NextStateName, NewStateData, Timeout} | {next_state, NextStateName, NewStateData, hibernate} | {stop, Reason, NewStateData}
- NextStateName = atom()
- NewStateData = #statedata{diameter_service = term(), app_alias = term(), session_id = string(), origin_host = string() | binary(), destination_host = string() | binary(), origin_realm = string() | binary(), destination_realm = string() | binary(), retry_time = integer(), retry_count = integer(), auth_app_id = integer()}
- Timeout = non_neg_integer() | infinity
- Reason = normal | term()
Handle a received message.
See also: //stdlib/gen_fsm:handle_info/3.
terminate(Reason, StateName, StateData) -> any()
- Reason = normal | shutdown | term()
- StateName = atom()
- StateData = #statedata{diameter_service = term(), app_alias = term(), session_id = string(), origin_host = string() | binary(), destination_host = string() | binary(), origin_realm = string() | binary(), destination_realm = string() | binary(), retry_time = integer(), retry_count = integer(), auth_app_id = integer()}
Cleanup and exit.
See also: //stdlib/gen_fsm:terminate/3.
code_change(OldVsn, StateName, StateData, Extra) -> Result
- OldVsn = term() | {down, Vsn::term()}
- StateName = atom()
- StateData = #statedata{diameter_service = term(), app_alias = term(), session_id = string(), origin_host = string() | binary(), destination_host = string() | binary(), origin_realm = string() | binary(), destination_realm = string() | binary(), retry_time = integer(), retry_count = integer(), auth_app_id = integer()}
- Extra = term()
- Result = {ok, NextStateName::atom(), NewStateData::#statedata{diameter_service = term(), app_alias = term(), session_id = string(), origin_host = string() | binary(), destination_host = string() | binary(), origin_realm = string() | binary(), destination_realm = string() | binary(), retry_time = integer(), retry_count = integer(), auth_app_id = integer()}}
Update internal state data during a release upgrade/downgrade.
See also: //stdlib/gen_fsm:code_change/4.
Generated by EDoc