User's Guide
Reference Manual
Release Notes
PDF
Top

Megaco/H.248
Reference Manual
Version 3.18

Expand All
Contract All

Table of Contents

- megaco
  - Top of manual page
  - start/0
  - stop/0
  - start_user/2
  - stop_user/1
  - user_info/1
  - user_info/2
  - update_user_info/3
  - conn_info/1
  - conn_info/2
  - update_conn_info/3
  - system_info/0
  - system_info/1
  - info/0
  - connect/4
  - connect/5
  - disconnect/2
  - call/3
  - cast/3
  - encode_actions/3
  - token_tag2string/1
  - token_tag2string/2
  - token_tag2string/3
  - cancel/2
  - process_received_message/4
  - process_received_message/5
  - receive_message/4
  - receive_message/5
  - parse_digit_map/1
  - eval_digit_map/1
  - eval_digit_map/2
  - report_digit_event/2
  - test_digit_event/2
  - encode_sdp/1
  - decode_sdp/1
  - get_sdp_record_from_PropertGroup/2
  - versions1/0
  - versions2/0
  - print_version_info/0
  - print_version_info/1
  - enable_trace/2
  - disable_trace/0
  - set_trace/1
  - get_stats/0
  - get_stats/1
  - get_stats/1
  - get_stats/2
  - reset_stats/0
  - reset_stats/1
  - test_request/5
  - test_reply/5
- megaco_edist_compress
  - Top of manual page
  - Module:encode/2
  - Module:decode/2
- megaco_encoder
  - Top of manual page
  - Module:encode_message/3
  - Module:decode_message/3
  - Module:decode_mini_message/3
  - Module:encode_transaction/3
  - Module:encode_action_requests/3
  - Module:encode_action_reply/3
- megaco_transport
  - Top of manual page
  - Module:send_message/2
  - Module:send_message/3
  - Module:resend_message/2
- megaco_tcp
  - Top of manual page
  - start_transport/0
  - listen/2
  - connect/2
  - close/1
  - socket/1
  - send_message/2
  - block/1
  - unblock/1
  - upgrade_receive_handle/1
  - get_stats/0
  - get_stats/1
  - get_stats/2
  - reset_stats/0
  - reset_stats/1
- megaco_udp
  - Top of manual page
  - start_transport/0
  - open/2
  - close/2
  - socket/1
  - create_send_handle/3
  - send_message/2
  - block/1
  - unblock/1
  - upgrade_receive_handle/2
  - get_stats/0
  - get_stats/1
  - get_stats/2
  - reset_stats/0
  - reset_stats/1
- megaco_user
  - Top of manual page
  - handle_connect/2
  - handle_connect/3
  - handle_disconnect/3
  - handle_syntax_error/3
  - handle_syntax_error/4
  - handle_message_error/3
  - handle_message_error/4
  - handle_trans_request/3
  - handle_trans_request/4
  - handle_trans_long_request/3
  - handle_trans_long_request/4
  - handle_trans_reply/4
  - handle_trans_reply/5
  - handle_trans_ack/4
  - handle_trans_ack/5
  - handle_unexpected_trans/3
  - handle_unexpected_trans/4
  - handle_trans_request_abort/4
  - handle_trans_request_abort/5
  - handle_segment_reply/5
  - handle_segment_reply/6
- megaco_flex_scanner
  - Top of manual page
  - start/0
  - stop/1
  - is_reentrant_enabled/0
  - is_scanner_port/2
  - scan/2
- megaco_codec_meas
  - Top of manual page
  - start/0
  - start/1
- megaco_codec_mstone1
  - Top of manual page
  - start/0
  - start/1
  - start/2
  - start_flex/0
  - start_flex/1
  - start_flex/2
  - start_only_drv/0
  - start_only_drv/1
  - start_only_drv/2
  - start_no_drv/0
  - start_no_drv/1
  - start_no_drv/2
- megaco_codec_mstone2
  - Top of manual page
  - start/0
  - start/1
- megaco_codec_transform
  - Top of manual page
  - export_messages/0
  - export_messages/1

# megaco_udp

### MODULE

megaco_udp

### MODULE SUMMARY

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()}
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.

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.