diameter_sctp(3)



diameter_sctp(3erl)        Erlang Module Definition        diameter_sctp(3erl)

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 docu-
       mented 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}  |  {unordered, boolean() | pos_integer()} |
                 {packet, boolean() | raw} | {message_cb,  diameter:eval()}  |
                 {sender, boolean()}
                 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 unspeci-
              fied. 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  trans-
              port  and is not valid for a connecting transport. If specified,
              a remote address that does not match one of  the  specified  ad-
              dresses  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.

              Option  unordered  specifies whether or not to use unordered de-
              livery, integer N being equivalent to N =< OS, where OS  is  the
              number  of  outbound  streams  negotiated  on the association in
              question. Regardless of configuration,  sending  is  ordered  on
              stream 0 until reception of a second incoming message, to ensure
              that a peer receives capabilities exchange messages  before  any
              other. Defaults to false.

              Option  packet determines how/if an incoming message is packaged
              into a diameter_packet record. If false then  messages  are  re-
              ceived  as  binary(). If true then as a record with the binary()
              message in the bin field and a {stream, Id} tuple in the  trans-
              port_data  field,  where  Id  is  the  identifier of the inbound
              stream the message was received on. If raw then as a record with
              the  received  ancillary  sctp_sndrcvinfo  record  in the trans-
              port_data field. Defaults to true.

              Options message_cb and sender have semantics identical to  those
              documented  in diameter_tcp(3erl), but with the message argument
              to a recv callback being as directed by the packet option.

              An {outstream, Id} tuple in the transport_data field of a outgo-
              ing diameter_packet record sets the outbound stream on which the
              message is  sent,  modulo  the  negotiated  number  of  outbound
              streams.  Any  other value causes successive such sends to cycle
              though all outbound streams.

              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 di-
              ameter_service record are used. Option port defaults to 3868 for
              a listening transport and 0 for a connecting transport.

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

              An small send buffer may result in outgoing messages being  dis-
              carded:  set the inet(3erl) option sndbuf to increase the buffer
              size.

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

Ericsson AB                     diameter 2.2.3             diameter_sctp(3erl)

Man(1) output converted with man2html
list of all man pages