非常教程

Erlang 20参考手册

megaco

megaco_encoder

模块

megaco_encoder

模块摘要

Megaco编码器的行为。

描述

应该从megaco_encoder回调模块:

数据类型

megaco_message() = #'MegacoMessage{}'
transaction() = {transactionRequest,     transaction_request()}      |
                {transactionPending,     transaction_reply()}        |
                {transactionReply,       transaction_pending()}      |
                {transactionResponseAck, transaction_response_ack()} |
                {segmentReply,           segment_reply()}
transaction_request() = #'TransactionRequest'{}
transaction_pending() = #'TransactionPending'{}
transaction_reply() = #'TransactionReply'{}
transaction_response_ack() = [transaction_ack()]
transaction_ack() = #'TransactionAck'{}
segment_reply() = #'SegmentReply'{}
action_request() = #'ActionRequest'{}
action_reply() = #'ActionReply'{}
    

输出

Module:encode_message(EncodingConfig, Version, Message) -> {ok, Bin} | Error

类型

编码一个megaco消息。

Module:decode_message(EncodingConfig, Version, Bin) -> {ok, Message} | Error

类型

解码megaco消息。

注意,如果Version参数是dynamic,解码器应尝试从消息本身计算出实际版本,然后使用适当的解码器,例如版本1。

另一方面,如果Version参数是一个整数,则意味着这是消息的预期版本,应该使用该版本的解码器。

Module:decode_mini_message(EncodingConfig, Version, Bin) -> {ok, Message} | Error

类型

执行megaco消息的最小解码。

此功能的目的是对Megaco消息进行最小限度的解码。 一个成功的结果是一个'MegacoMessage',其中只有版本和中期已经启动。 当decode_message / 3函数未能找出消息的中间(实际发送者)时,megaco_messenger模块使用此函数。

请再次注意,成功解码只返回部分启动的消息。

Module:encode_transaction(EncodingConfig, Version, Transaction) -> OK | Error

类型

编码一个megaco事务。如果出于某种原因不支持该功能,该功能应返回错误原因not_implemented

此功能既用于使用交易发件人时也用于分段。所以,对于其中的任何一个人来说,这个功能必须完全支持!

Module:encode_action_requests(EncodingConfig, Version, ARs) -> OK | Error

类型

编码megaco动作请求。 当用户调用encode_actions / 3函数时调用此函数。 如果该函数从未使用过,或者编解码器无法支持(个别操作的编码),则返回错误原因not_implemented。

Module:encode_action_reply(EncodingConfig, Version, AR) -> OK | Error

类型

编码一个megaco动作回复。如果出于某种原因不支持该功能,该功能应返回错误原因not_implemented

此功能在配置分段时使用。所以,为了这个工作,这个功能必须完全支持!

Erlang 20

Erlang 是一种通用的面向并发的编程语言,可应付大规模开发活动的程序设计语言和运行环境。

主页 https://www.erlang.org/
源码 https://github.com/erlang/otp
版本 20
发布版本 20.1