<div dir="ltr">Hi, <div><br></div><div>As the error message suggests, the problem is most likely that the optional [ Destination-Host ] AVP is on the wrong spot in the message definition. According to the Diameter Base Protocol spec (RFC 6733, Chapter 3.2) the sequence of AVPs after the header should be : fixed ( <...> ) , required ( {...} ) , optional ( [...] ). You should probably fix the message definition to follow this order. My experience with picking message definitions from 3GPP diameter protocol specs is that they almost always need (sometimes significant) handcrafting to work.</div><div><br></div><div>Regards,</div><div>Ferenc</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 9 July 2017 at 08:41, austin aigbe <span dir="ltr"><<a href="mailto:eshikafe@gmail.com" target="_blank">eshikafe@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello,<div><br></div><div>It seems the Erlang Diameter dictionary compiler (diameter_make) is not compatible with the 3GPP Diameter commands.</div><div><br></div><div>When I try compiling the attached .dia file, for Cx (3GPP TS 29.299 v12.7.0), I get the following error:</div><div><br></div><div><div>10> diameter_make:codec("cx_<wbr>ts29229_v1270.dia",[hrl]).</div><div>{error,{invalid_avp_order,[<wbr>123,"Destination-Realm",125,<wbr>95]}}</div></div><div><br></div><div>-------------------------</div><div><div>@messages</div><div><br></div><div><span style="white-space:pre-wrap">     </span>   UAR ::= < Diameter Header: 300, REQ, PXY ></div><div><span style="white-space:pre-wrap">                     </span>   < Session-Id ></div><div><span style="white-space:pre-wrap">                 </span>   { Vendor-Specific-Application-Id } </div><div><span style="white-space:pre-wrap">                 </span>   { Auth-Session-State }</div><div><span style="white-space:pre-wrap">                       </span>   { Origin-Host }</div><div><span style="white-space:pre-wrap">                      </span>   { Origin-Realm }</div><div><span style="white-space:pre-wrap">                     </span>   [ Destination-Host ]</div><div><span style="white-space:pre-wrap">                 </span>  <b> { Destination-Realm }</b></div><div><span style="white-space:pre-wrap">                     </span>   { User-Name }</div></div><div>----------------------------</div><div><br></div><div>Or am I doing something wrong? Kindly advise.</div><div><br></div><div>Erlang version:</div><div><br></div><div><div>Erlang/OTP 20 [erts-9.0] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10]</div><div><br></div><div>Eshell V9.0  (abort with ^G)</div></div><div><br></div><div>Thanks.</div><div><br></div><div>Regards,</div><div>Austin</div></div>
<br>______________________________<wbr>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/<wbr>listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>