Module ocs_diameter_3gpp_gx_application_cb

This diameter_app behaviour callback module handles diameter messages for the 3GPP DIAMETER Gx application in the cse application.

Copyright © 2016 - 2026 SigScale Global Inc.

References

Description

This diameter_app behaviour callback module handles diameter messages for the 3GPP DIAMETER Gx application in the cse application.

Data Types

capabilities()

capabilities() = #diameter_caps{}

message()

message() = tuple() | list()

packet()

packet() = #diameter_packet{}

peer()

peer() = {Peer_Ref::term(), Capabilities::capabilities()}

resource_char()

resource_char() = #resource_char{name = string() | undefined | '_', class_type = string() | undefined | '_', schema = string() | undefined | '_', value = term() | undefined | '_'}

resource_rel()

resource_rel() = #resource_rel{id = string() | undefined | '_', href = string() | undefined | '_', name = string() | undefined | '$4' | '_', type = string() | undefined | '_', referred_type = string() | undefined | '_'}

specification_ref()

specification_ref() = #specification_ref{id = string() | undefined | '_' | '$3', href = string() | undefined | '_', name = string() | undefined | '_', version = string() | undefined | '_'}

state()

state() = #state{}

Function Index

peer_up/3Invoked when the peer connection is available.
peer_down/3Invoked when the peer connection is not available.
pick_peer/4Invoked as a consequence of a call to diameter:call/4 to select a destination peer for an outgoing request.
prepare_request/3Invoked to return a request for encoding and transport.
prepare_retransmit/3Invoked to return a request for encoding and retransmission.
handle_answer/4Invoked when an answer message is received from a peer.
handle_error/4Invoked when an error occurs before an answer message is received in response to an outgoing request.
handle_request/3Invoked when a request message is received from the peer.
errors/4*Handle errors in requests.
process_request/4Process a received DIAMETER Accounting packet.
charging_rule/1*Parse a list of PCRF polcies.
subscriber_id/2*Get Subscribers From Diameter SubscriberId AVP.
accounting_event_type/1*Converts CC-Request-Type integer value to a readable atom.

Function Details

peer_up/3

peer_up(ServiceName, Peer, State) -> NewState

Invoked when the peer connection is available

peer_down/3

peer_down(ServiceName, Peer, State) -> NewState

Invoked when the peer connection is not available

pick_peer/4

pick_peer(LocalCandidates, RemoteCandidates, ServiceName, State) -> Result

Invoked as a consequence of a call to diameter:call/4 to select a destination peer for an outgoing request.

prepare_request/3

prepare_request(Packet, ServiceName, Peer) -> Action

Invoked to return a request for encoding and transport

prepare_retransmit/3

prepare_retransmit(Packet, ServiceName, Peer) -> Action

Invoked to return a request for encoding and retransmission. In case of peer connection is lost alternate peer is selected.

handle_answer/4

handle_answer(Packet, Request, ServiceName, Peer) -> Result

Invoked when an answer message is received from a peer.

handle_error/4

handle_error(Reason, Request, ServiceName, Peer) -> Result

Invoked when an error occurs before an answer message is received in response to an outgoing request.

handle_request/3

handle_request(Packet, ServiceName, Peer) -> Action

Invoked when a request message is received from the peer.

errors/4 *

errors(ServiceName, Capabilities, Request, Errors) -> Action

Handle errors in requests.

process_request/4

process_request(Address, Port, Caps, Request) -> Result

Process a received DIAMETER Accounting packet.

charging_rule/1 *

charging_rule(PolicyResList) -> Result

Parse a list of PCRF polcies

subscriber_id/2 *

subscriber_id(SubscriberIdAVPs, SubIdTypes) -> Subscriber

Get Subscribers From Diameter SubscriberId AVP.

accounting_event_type/1 *

accounting_event_type(RequestType) -> EventType

Converts CC-Request-Type integer value to a readable atom.


Generated by EDoc