Provided by: erlang-manpages_18.3-dfsg-1ubuntu3.1_all bug

NAME

       diameter_sctp - Diameter transport over SCTP.

DESCRIPTION

       This  module  implements  diameter  transport  over SCTP using gen_sctp(3erl). It can be specified as the
       value of a transport_module option to diameter:add_transport/2 and implements the behaviour documented in
       diameter_transport(3erl).

EXPORTS

       start({Type, Ref}, Svc, [Opt]) -> {ok, Pid, [LAddr]} | {error, Reason}

              Types:

                 Type = connect | accept
                 Ref = diameter:transport_ref()
                 Svc = #diameter_service{}
                 Opt = OwnOpt | SctpOpt
                 Pid = pid()
                 LAddr = inet:ip_address()
                 Reason = term()
                 OwnOpt = {raddr, inet:ip_address()} | {rport, integer()} | {accept, Match}
                 SctpOpt = term()
                 Match = inet:ip_address() | string() | [Match]

              The start function required by diameter_transport(3erl).

              Options raddr and rport specify the remote address and port for a  connecting  transport  and  not
              valid  for  a  listening  transport:  the  former  is  required  while  latter defaults to 3868 if
              unspecified. Multiple raddr options can be specified, in which case the  connecting  transport  in
              question attempts each in sequence until an association is established.

              Option  accept  specifies  remote  addresses  for  a  listening  transport  and is not valid for a
              connecting transport. If specified, a remote address that does not  match  one  of  the  specified
              addresses  causes  the  association  to  be  aborted.  Multiple accept options can be specified. A
              string-valued Match that does not parse as an address is interpreted as a regular expression.

              Remaining options are any accepted by gen_sctp:open/1, with the exception of options mode, binary,
              list, active and sctp_events. Note that options ip and port specify the  local  address  and  port
              respectively.

              Multiple  ip options can be specified for a multihomed peer. If none are specified then the values
              of Host-IP-Address in the diameter_service record are used. (In particular, one of these  must  be
              specified.)  Option  port  defaults  to  3868  for  a  listening  transport and 0 for a connecting
              transport.

          Warning:
              An insufficiently large receive buffer may result in a peer having to  resend  incoming  messages:
              set the inet(3erl) option recbuf to increase the buffer size.

              An  insufficiently  large  send  buffer  may  result in outgoing messages being discarded: set the
              inet(3erl) option sndbuf to increase the buffer size.

              The transport_data field of record diameter_packet is used to communicate the stream on  which  an
              inbound  message has been received, or on which an outbound message should be sent. The value will
              be of the form {stream, Id} for an inbound message passed to a handle_request/3 or handle_answer/4
              callback. For an outbound message, {outstream, Id} in the  return  value  of  handle_request/3  or
              prepare_retransmit/3  sets  the outbound stream, the stream id being interpreted modulo the number
              of outbound streams. Any other value, or not setting a value,  causes  successive  such  sends  to
              cycle though all outbound streams.

SEE ALSO

       diameter(3erl), diameter_transport(3erl), gen_sctp(3erl), inet(3erl)

Ericsson AB                                      diameter 1.11.2                             diameter_sctp(3erl)