This module contains the public interface to the UDP/IP version transport protocol for Megaco/H.248.
start_transport() -> {ok, TransportRef}
Types:
TransportRef = pid()
This function is used for starting the UDP/IP transport service. Use exit(TransportRef, Reason) to stop the transport service.
open(TransportRef, OptionList) -> {ok, Handle, ControlPid} |
{error, Reason}
Types:
TransportRef = pid() | regname()
OptionList = [option()]
option() = {port, integer()}
|{options, list()}
|{receive_handle, receive_handle()}
|{module, atom()}
Handle = socket_handle()
receive_handle() = term()
ControlPid = pid()
Reason = term()
This function is used to open an UDP/IP socket.
The module
option makes it possible for the user to provide
their own callback module. The functions receive_message/4
or
process_received_message/4
of this module is called when a new
message is received (which one depends on the size of the message;
small - receive_message, large - process_received_message).
Default value is megaco.
Types:
Handle = socket_handle()
Msg
This function is used for closing an active UDP socket.
Types:
Handle = socket_handle()
Socket = inet_socket()
This function is used to convert a socket_handle() to a inet_socket(). inet_socket() is a plain socket, see the inet module for more info.
create_send_handle(Handle, Host, Port) -> send_handle()
Types:
Handle = socket_handle()
Host = {A,B,C,D} | string()
Port = integer()
Creates a send handle from a transport handle. The send handle is intended to be used by megaco_udp:send_message/2.
send_message(SendHandle, Msg) -> ok
Types:
SendHandle = send_handle()
Message = binary() | iolist()
Sends a message on a socket. The send handle is obtained by megaco_udp:create_send_handle/3. Increments the NumOutMessages and NumOutOctets counters if message successfully sent. In case of a failure to send, the NumErrors counter is not inremented. This is done elsewhere in the megaco app.
Types:
Handle = socket_handle()
Stop receiving incoming messages on the socket.
Types:
Handle = socket_handle()
upgrade_receive_handle(ControlPid, NewHandle) -> ok
Types:
ControlPid = pid()
NewHandle = receive_handle()
receive_handle() = term()
get_stats() -> {ok, TotalStats} | {error, Reason}
get_stats(SendHandle) -> {ok, SendHandleStats} | {error, Reason}
get_stats(SendHandle, Counter) -> {ok, CounterStats} | {error, Reason}
Types:
TotalStats = [total_stats()]
total_stats() = {send_handle(), [stats()]}
SendHandle = send_handle()
SendHandleStats = [stats()]
Counter = udp_stats_counter()
CounterStats = integer()
stats() = {udp_stats_counter(), integer()}
tcp_stats_counter() = medGwyGatewayNumInMessages |
medGwyGatewayNumInOctets | medGwyGatewayNumOutMessages |
medGwyGatewayNumOutOctets | medGwyGatewayNumErrors
Reason = term()
Retreive the UDP related (SNMP) statistics counters.
reset_stats() -> void()
reset_stats(SendHandle) -> void()
Types:
SendHandle = send_handle()
Reset all TCP related (SNMP) statistics counters.