查看源代码 megaco_tcp (megaco v4.7)

Megaco/H.248 的 TPKT 传输协议的接口模块。

该模块包含 Megaco/H.248 的 TPKT (TCP/IP) 版本传输协议的公共接口。

摘要

类型

定义此传输处理的不同计数器。

表示 TPKT 连接的不透明数据类型。

函数

停止在套接字上接收传入消息。

此函数用于关闭活动的 TPKT 连接。

此函数用于打开 TPKT 连接。

获取所有已知连接的所有计数器值。

获取给定(连接)句柄的所有计数器值。

获取特定计数器的值。

此函数用于为 TCP/IP 启动新的 TPKT 监听套接字。选项列表包含套接字定义。

重置所有连接的所有计数器。

重置给定连接的所有计数器。

在 TPKT 连接上发送消息。

此函数用于将套接字 handle() 转换为 inet socket()

此函数用于启动 TCP/IP 传输服务。使用 exit(TransportRef, Reason) 停止传输服务。

再次开始从套接字接收传入消息。

升级控制进程的接收句柄(例如,在更改协议版本之后)。

类型

-type counter() ::
          medGwyGatewayNumInMessages | medGwyGatewayNumInOctets | medGwyGatewayNumOutMessages |
          medGwyGatewayNumOutOctets | medGwyGatewayNumErrors.

定义此传输处理的不同计数器。

-opaque handle()

表示 TPKT 连接的不透明数据类型。

函数

-spec block(Handle) -> ok when Handle :: handle().

停止在套接字上接收传入消息。

-spec close(Handle) -> ok when Handle :: handle().

此函数用于关闭活动的 TPKT 连接。

链接到此函数

connect(TransportRef, Opts)

查看源代码
-spec connect(TransportRef, Opts) -> {ok, Handle, ControlPid} | {error, Reason}
                 when
                     TransportRef :: pid() | RegName,
                     RegName :: atom(),
                     Opts :: [Option],
                     Option ::
                         {inet_backend, default | inet | socket} |
                         {host, Host} |
                         {port, PortNum} |
                         {options, list()} |
                         {receive_handle, term()} |
                         {module, atom()},
                     Host :: inet:socket_address() | inet:hostname(),
                     PortNum :: inet:port_number(),
                     Handle :: handle(),
                     ControlPid :: pid(),
                     Reason :: term().

此函数用于打开 TPKT 连接。

  • module - 此选项使用户可以提供自己的回调模块。当收到新消息时,将调用此模块的 receive_message/4process_received_message/4 函数。调用哪个函数取决于消息的大小:

    • small - receive_message

    • large - process_received_message

    默认值为 megaco

  • inet_backend - 选择 inet 后端。

    此选项可以使用不同的 inet 后端('default'、'inet' 或 'socket')。

    默认值为 default(系统默认值)。

-spec get_stats() -> {ok, TotalStats} | {error, Reason}
                   when
                       TotalStats :: [{Handle, [{Counter, integer()}]}],
                       Handle :: handle(),
                       Counter :: counter(),
                       Reason :: term().

获取所有已知连接的所有计数器值。

-spec get_stats(Handle) -> {ok, Stats} | {error, Reason}
                   when
                       Handle :: handle(),
                       Stats :: [{Counter, integer()}],
                       Counter :: counter(),
                       Reason :: term().

获取给定(连接)句柄的所有计数器值。

链接到此函数

get_stats(Handle, Counter)

查看源代码
-spec get_stats(Handle, Counter) -> {ok, integer()} | {error, Reason}
                   when Handle :: handle(), Counter :: counter(), Reason :: term().

获取特定计数器的值。

链接到此函数

listen(TransportRef, Options)

查看源代码
-spec listen(TransportRef, Options) -> ok
                when
                    TransportRef :: pid() | RegName,
                    RegName :: atom(),
                    Options :: [Option],
                    Option ::
                        {inet_backend, default | inet | socket} |
                        {port, inet:port_number()} |
                        {options, list()} |
                        {receive_handle, term()}.

此函数用于为 TCP/IP 启动新的 TPKT 监听套接字。选项列表包含套接字定义。

  • inet_backend - 选择 inet 后端。

    此选项可以使用不同的 inet 后端('default'、'inet' 或 'socket')。

    默认值为 default(系统默认值)。

-spec reset_stats() -> megaco:void().

重置所有连接的所有计数器。

-spec reset_stats(Handle) -> megaco:void() when Handle :: handle().

重置给定连接的所有计数器。

链接到此函数

send_message(Handle, Msg)

查看源代码
-spec send_message(Handle, Msg) -> ok when Handle :: handle(), Msg :: binary() | iolist().

在 TPKT 连接上发送消息。

-spec socket(Handle) -> Socket when Handle :: handle(), Socket :: inet:socket().

此函数用于将套接字 handle() 转换为 inet socket()

-spec start_transport() -> {ok, TransportRef} when TransportRef :: pid().

此函数用于启动 TCP/IP 传输服务。使用 exit(TransportRef, Reason) 停止传输服务。

-spec unblock(Handle) -> ok when Handle :: handle().

再次开始从套接字接收传入消息。

链接到此函数

upgrade_receive_handle(ControlPid, NewRecvHandle)

查看源代码
-spec upgrade_receive_handle(ControlPid, NewRecvHandle) -> ok
                                when ControlPid :: pid(), NewRecvHandle :: term().

升级控制进程的接收句柄(例如,在更改协议版本之后)。