[erlang-questions] Erlang-diameter: Issue when trying to add multiple servers to a relay

Arshad Ansari <>
Wed Jul 27 10:00:42 CEST 2016


Hello there,

Firstly, I've just picked up erlang this week and I'm suppose to evaluate
Erlang-Diameter for my company (I'm even new to telecom domain and hence to
diameter protocol). So, I'm a complete noob in this area.  I'm using the
example provided by OTP in lib/diameter/examples/code folder. I'm using the
relay (listening on 3868) code given there to connect to the two instance
of server that I have seperately started on 3871 and 3872. When I connect
to these two servers, the connection is established with both but the Peer
Up in relay_cb.erl is called only for the first server I tried to connect
to. Hence forth, all the requests from clients are relayed to this single
Peer. I'm trying to load balance the requests and therefore sharing client
connections across multiple server. I would like and appreciate some help
in that direction. I haven't changed much from the example directory. I'm
just listing the params I'm using for connection as shown below:

Server uses the following config:
Server 1:
[{'Origin-Host', "3871.example.com"},
                          {'Origin-Realm', "example.com"},
                          {'Vendor-Id', 193},
                          {'Product-Name', "3871-Server-Erlang"},
                          {'Auth-Application-Id', [0]},
                          {restrict_connections, false},
                          {string_decode, false},
                          {application, [{alias, common},
                                         {dictionary,
diameter_gen_base_rfc6733},
                                         {module, server_cb}]}]).

Server 2:
[{'Origin-Host', "3872.example.com"},
                          {'Origin-Realm', "example.com"},
                          {'Vendor-Id', 193},
                          {'Product-Name', "3872-Server-Erlang"},
                          {'Auth-Application-Id', [0]},
                          {restrict_connections, false},
                          {string_decode, false},
                          {application, [{alias, common},
                                         {dictionary,
diameter_gen_base_rfc6733},
                                         {module, server_cb}]}]).

Relay:
[{'Origin-Host', "arshad.example.com"},
                         {'Origin-Realm', "example.com"},
                         {'Vendor-Id', 193},
                         {'Product-Name', "RelayAgent"},
                         {'Auth-Application-Id', [?DIAMETER_APP_ID_RELAY]},
                         {string_decode, false},
                         {application, [{alias, relay},
                                        {dictionary, ?DIAMETER_DICT_RELAY},
                                        {module, relay_cb}]}]).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20160727/f90f3329/attachment.html>


More information about the erlang-questions mailing list