Provided by: erlang-manpages_24.3.4.1+dfsg-1_all bug

NAME

       megaco_transport - Megaco transport behaviour.

DESCRIPTION

       The following functions should be exported from a megaco_transport callback module:

         * send_message/2 [mandatory]

         * send_message/3 [optional]

         * resend_message/2 [optional]

         *

EXPORTS

       Module:send_message(Handle, Msg) -> ok | {cancel, Reason} | Error
       Module:send_message(Handle, Msg, Resend) -> ok | {cancel, Reason} | Error

              Types:

                 Handle = term()
                 Msg = binary() | iolist()
                 Resend = boolean()
                 Reason = term()
                 Error = term()

              Send a megaco message.

              If  the  function returns {cancel, Reason}, this means the transport module decided
              not to send the message. This is not an error. No error messages will be issued and
              no  error  counters  incremented.  What actions this will result in depends on what
              kind of message was sent.

              In the case of requests, megaco will cancel the message in much the same way as  if
              megaco:cancel  had  been called (after a successfull send). The information will be
              propagated back to the user differently  depending  on  how  the  request(s)  where
              issued:  For  requests  issued using megaco:call, the info will be delivered in the
              return value. For requests issued using megaco:cast the info will be delivered  via
              a call to the callback function handle_trans_reply.

              In  the case of reply, megaco will cancel the reply and information of this will be
              returned to the user via a call to the callback function handle_trans_ack.

              The function send_message/3 will only be called  if  the  resend_indication  config
              option has been set to the value flag. The third argument, Resend then indicates if
              the message send is a resend or not.

       Module:resend_message(Handle, Msg) -> ok | {cancel, Reason} | Error

              Types:

                 Handle = term()
                 Msg = binary() | iolist()
                 Reason = term()
                 Error = term()

              Re-send a megaco message.

              Note  that  this  function  will  only  be  called  if  the  user   has   set   the
              resend_indication  config  option to trueand it is in fact a message resend. If not
              both of these condition's are meet, send_message will be called.

              If the function returns {cancel, Reason}, this means the transport  module  decided
              not to send the message. This is not an error. No error messages will be issued and
              no error counters incremented. What actions this will result  in  depends  on  what
              kind of message was sent.

              In  the case of requests, megaco will cancel the message in much the same way as if
              megaco:cancel had been called (after a successfull send). The information  will  be
              propagated  back  to  the  user  differently  depending on how the request(s) where
              issued: For requests issued using megaco:call, the info will be  delivered  in  the
              return  value. For requests issued using megaco:cast the info will be delivered via
              a call to the callback function handle_trans_reply.

              In the case of reply, megaco will cancel the reply and information of this will  be
              returned to the user via a call to the callback function handle_trans_ack.