<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Anders,<div><br><div><div>On 13 Sep 2013, at 12:02, Anders Svensson wrote:</div><blockquote type="cite"><div><br>The diameter application doesn't care. All that RFC 6733 requires of<br>Origin-Host is that it be unique within a single host (6.3), while<br>Origin-Realm is expected to be related to the DNS domain name (6.4,<br>1.2; could be clearer). Using the physical host/domain is fairly<br>typical it seems.<br><br></div></blockquote><div><br></div><div>Ok fair enough.</div><br><blockquote type="cite"><div><blockquote type="cite">After attempts to write and test a basic relay kept failing, I tried using the server.erl and client.erl from the diameter application's ./examples/code directory and things don't seem to be working properly:<br></blockquote><font class="Apple-style-span" color="#007520"><br></font></div></blockquote>[snip]<br><blockquote type="cite"><div>You haven't told the example server to start listening: you need to<br>call server:listen(tcp) as well. Here's how it should look:<br><br>  6> up: <0.56.0><br>  client:call().<br>  {ok,{diameter_base_RAA,"client;1440573120;1;nonode@nohost",<br>                         2001,"<a href="http://server.example.com">server.example.com</a>","<a href="http://example.com">example.com</a>",[],[],[],[],[],<br>                         [],[],[],[],[]}}<br><br></div></blockquote>[snip]</div><div><br></div><div>Oops, I forgot about that (when using the example client/server code), but the peer always goes down immediately after coming up:</div><div><br></div><div><div>1> diameter:start().</div><div>ok</div><div>2> server:start().</div><div>ok</div><div>3> server:listen(tcp).</div><div>{ok,#Ref<0.0.0.53>}</div><div>4> client:start().</div><div>ok</div><div>5> client:connect(tcp).</div><div>{ok,#Ref<0.0.0.99>}</div><div>6> up: <0.55.0></div><div>down: <0.55.0></div><div><br></div><div>6> </div><div>6>      </div></div><div><br></div><div>It doesn't do that when I start the client from another shell though - then it connects fine! - but the ACR being passed across the wire doesn't seem to encode properly - I assumed that because both the client and server application's are configured with `{dictionary, ?DIAMETER_DICT_COMMON}' that it wouldn't be necessary to do anything "special" to get them to encode/decode properly...</div><div><br></div><div>1> diameter:start().</div><div>ok</div><div>2> client:start().</div><div>ok</div><div>3> client:connect(tcp).</div><div>{ok,#Ref<0.0.0.53>}</div><div>4> client:call().</div><div><br></div><div>=ERROR REPORT==== 13-Sep-2013::15:02:02 ===</div><div>Error in process <0.63.0> with exit value: {{badrecord,diameter_base_ACR},[{client_cb,prepare_request,3,[{file,"src/client_cb.erl"},{line,55}]},{diameter_traffic,send_request,6,[{file,"base/diameter_traffic.erl"},{line,1195}]},{diameter_traffic,'-send_request/4-fun-0-'... </div><div><br></div><div>{error,encode}</div><div> </div><div><br><blockquote type="cite"><div><font class="Apple-style-span" color="#007520"><br></font>Haven't seen this one but give the above a try for starters.<br><br></div></blockquote><div><br></div><div>Just to clarify, this is an untouched version of server.erl, server_cb.erl, client.erl and client_cb.erl that I'm experimenting with - just to try and figure out what's going awry with my own code. In my own tests, calls to diameter:service/0 show the client and server configured on their respective nodes, and the server has run diameter:add_transport(Name, {listen, server(T)}) (and the client, connect(...) and so on) during initialisation. I shall try to make a bit more progress before taking up any more of your time anyway.</div><div><br></div><div>Thanks!</div><div><br></div><div>Tim</div><div><div><br></div></div></div></div></body></html>