diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2021-12-11 04:13:59 +0300 |
---|---|---|
committer | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2021-12-15 05:42:49 +0300 |
commit | 3f7a6dc2976971f96faae0ab6b0e907912b4e49f (patch) | |
tree | f1a37f59cb67b7ec7944ac8342947ab09da6930d | |
parent | b57ef873e088cddf0706324fa2269f3c25ce8498 (diff) |
library/DIAMETER_Emulation: handle DWR/DWA ping-pong
Change-Id: I0291eccd0467f8fe15ddcb88259618365c33befd
Related: SYS#5602
-rw-r--r-- | library/DIAMETER_Emulation.ttcn | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/library/DIAMETER_Emulation.ttcn b/library/DIAMETER_Emulation.ttcn index f7a0f887..220ab111 100644 --- a/library/DIAMETER_Emulation.ttcn +++ b/library/DIAMETER_Emulation.ttcn @@ -328,6 +328,14 @@ function main(DIAMETEROps ops, DIAMETER_conn_parameters p, charstring id) runs o /* notify our user that the CER->CEA exchange has happened */ DIAMETER_UNIT.send(DiameterCapabilityExchgInd:{rx:=mrf.msg, tx:=valueof(resp)}); } + /* handle DWR/DWA ping-pong */ + [] DIAMETER.receive(tr_DIAMETER_RecvFrom_R(tr_DIA_DWR)) -> value mrf { + var template (value) PDU_DIAMETER resp; + resp := ts_DIA_DWA('00000001'O, p.origin_host, p.origin_realm, + hbh_id := mrf.msg.hop_by_hop_id, + ete_id := mrf.msg.end_to_end_id); + DIAMETER.send(t_DIAMETER_Send(g_diameter_conn_id, valueof(resp))); + } /* DIAMETER from remote peer */ [] DIAMETER.receive(tr_DIAMETER_RecvFrom_R(?)) -> value mrf { |