Scroll to navigation

megaco_tcp(3erl) Erlang Module Definition megaco_tcp(3erl)

NAME

megaco_tcp - Interface module to TPKT transport protocol for Megaco/H.248.

DESCRIPTION

This module contains the public interface to the TPKT (TCP/IP) version transport protocol for Megaco/H.248.

EXPORTS

start_transport() -> {ok, TransportRef}

Types:

TransportRef = pid()

This function is used for starting the TCP/IP transport service. Use exit(TransportRef, Reason) to stop the transport service.

listen(TransportRef, ListenPortSpecList) -> ok

Types:

TransportRef = pid() | regname()
OptionListPerPort = [Option]
Option = {port, integer()} | {options, list()} | {receive_handle, term()} | {inet_backend, default | inet | socket}

This function is used for starting new TPKT listening socket for TCP/IP. The option list contains the socket definitions.

Choose the inet-backend.

This option make it possible to use a different inet-backend ('default', 'inet' or 'socket').

Default is default (system default).

connect(TransportRef, OptionList) -> {ok, Handle, ControlPid} | {error, Reason}

Types:

TransportRef = pid() | regname()
OptionList = [Option]
Option = {host, IpAddr} | {port, integer()} | {options, list()} | {receive_handle, term()} | {module, atom()} | {inet_backend, default | inet | socket}
Handle = socket_handle()
ControlPid = pid()
Reason = term()

This function is used to open a TPKT connection.

This option makes it possible for the user to provide their own callback module. The receive_message/4 or process_received_message/4 functions of this module is called when a new message is received. Which one is called depends on the size of the message;
receive_message
process_received_message

Default value is megaco.

Choose the inet-backend.

This option make it possible to use a different inet-backend ('default', 'inet' or 'socket').

Default is default (system default).

close(Handle) -> ok

Types:

Handle = socket_handle()

This function is used for closing an active TPKT connection.

socket(Handle) -> 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.

send_message(Handle, Message) -> ok

Types:

Handle = socket_handle()
Message = binary() | iolist()

Sends a message on a connection.

block(Handle) -> ok

Types:

Handle = socket_handle()

Stop receiving incoming messages on the socket.

unblock(Handle) -> ok

Types:

Handle = socket_handle()

Starting to receive incoming messages from the socket again.

upgrade_receive_handle(ControlPid) -> ok

Types:

ControlPid = pid()

Update the receive handle of the control process (e.g. after having changed protocol version).

get_stats() -> {ok, TotalStats} | {error, Reason}
get_stats(SendHandle) -> {ok, SendHandleStats} | {error, Reason}
get_stats(SendHandle, Counter) -> {ok, CounterStats} | {error, Reason}

Types:

TotalStats = [send_handle_stats()]
total_stats() = {send_handle(), [stats()]}
SendHandle = send_handle()
SendHandleStats = [stats()]
Counter = tcp_stats_counter()
CounterStats = integer()
stats() = {tcp_stats_counter(), integer()}
tcp_stats_counter() = medGwyGatewayNumInMessages | medGwyGatewayNumInOctets | medGwyGatewayNumOutMessages | medGwyGatewayNumOutOctets | medGwyGatewayNumErrors
Reason = term()

Retreive the TCP related (SNMP) statistics counters.

reset_stats() -> void()
reset_stats(SendHandle) -> void()

Types:

SendHandle = send_handle()

Reset all TCP related (SNMP) statistics counters.

megaco 4.5 Ericsson AB