[erlang-questions] A (hopefully simple) diameter relay question

Tim Watson <>
Tue Oct 22 11:45:04 CEST 2013


Hi Anders,

On 10/18/2013 05:45 PM, Anders Svensson wrote:

One thing that's not quite right in your configuration is that both the
relay and server identify themselves with Origin-Host=service.example.com.
The server is another Diameter node that should have its own identity. Not
sure if that could be a problem (don't know seagull for one) but it's not
impossible. Similarly, the client should also have its own identity. The
relay closing the connection upon reception of CEA means that there's
something it doesn't like. If you trace on diameter_peer_fsm:terminate/2
then we should be able to see why.


I fixed the Origin-Host (on all three peers), and you're right about the
relay rejecting the CEA. It looks to me like the upstream (server) is
rejecting the CER with a 3xxx error code:

(<0.248.0>) call
diameter_peer_fsm:terminate({shutdown,{'CEA',{'Wait-CEA',1192247597,1192247597}}},{state,
    {'Wait-CEA',1192247597,1192247597},
    {connect,{{127,0,0,1},3868}},
    <0.247.0>,<0.256.0>,diameter_gen_base_rfc3588,
    {diameter_service,<0.245.0>,
        {diameter_caps,"relay.example.com","example.com",
            [{127,0,0,1}],
            193,"Server",[],[],
            [4294967295],
            [],[],[],[],[]},
        [{diameter_app,m_diameter_service,diameter_gen_relay,
             [m_diameter_relay],
             m_diameter_service,4294967295,false,
             [{answer_errors,report},{request_errors,answer_3xxx}]}]},
    false,exit})
(<0.248.0>) returned from diameter_peer_fsm:terminate/2 -> ok

(<0.278.0>) call
diameter_peer_fsm:terminate({shutdown,{'CEA',timeout}},{state,
    {'Wait-CEA',1192247598,1192247598},
    {connect,{{127,0,0,1},3868}},
    <0.247.0>,<0.279.0>,diameter_gen_base_rfc3588,
    {diameter_service,<0.245.0>,
        {diameter_caps,"relay.example.com","example.com",
            [{127,0,0,1}],
            193,"Server",[],[],
            [4294967295],
            [],[],[],[],[]},
        [{diameter_app,m_diameter_service,diameter_gen_relay,
             [m_diameter_relay],
             m_diameter_service,4294967295,false,
             [{answer_errors,report},{request_errors,answer_3xxx}]}]},
    false,exit})
(<0.278.0>) returned from diameter_peer_fsm:terminate/2 -> ok

(<0.285.0>) call
diameter_peer_fsm:terminate({shutdown,{'CEA',timeout}},{state,
    {'Wait-CEA',1192247599,1192247599},
    {connect,{{127,0,0,1},3868}},
    <0.247.0>,<0.286.0>,diameter_gen_base_rfc3588,
    {diameter_service,<0.245.0>,
        {diameter_caps,"relay.example.com","example.com",
            [{127,0,0,1}],
            193,"Server",[],[],
            [4294967295],
            [],[],[],[],[]},
        [{diameter_app,m_diameter_service,diameter_gen_relay,
             [m_diameter_relay],
             m_diameter_service,4294967295,false,
             [{answer_errors,report},{request_errors,answer_3xxx}]}]},
    false,exit})
(<0.285.0>) returned from diameter_peer_fsm:terminate/2 -> ok

I'll take a look at the test server configuration and see if I can figure
out why.

Thanks for the assist here - I'll try and remember to let the list know how
I resolve this, for the benefit of future readers.

Cheers,
Tim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20131022/6209e431/attachment-0001.html>


More information about the erlang-questions mailing list