megaco_udp(3)

NAME
megaco_udp - Interface module to UDP transport protocol for Megaco/H.248.

DESCRIPTION

This module contains the public interface to the UDP/IP version transport protocol for Megaco/H.248.

EXPORTS

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()} | {inet_backend, default | inet | socket}
        Handle = socket_handle()
        receive_handle() = term()
        ControlPid = pid()
        Reason = term()

    This function is used to open an UDP/IP socket.

        module:
            The 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.

        inet_backend:
            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, Msg) -> ok

    Types:
        Handle = socket_handle()
        Msg

    This function is used for closing an active UDP socket.

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.

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 incremented. This is done elsewhere in the megaco app.

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, NewHandle) -> ok

    Types:
        ControlPid = pid()
        NewHandle = receive_handle()
        receive_handle() = term()

    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 = [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.