aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2021-12-11 04:13:59 +0300
committerVadim Yanitskiy <vyanitskiy@sysmocom.de>2021-12-15 05:42:49 +0300
commit3f7a6dc2976971f96faae0ab6b0e907912b4e49f (patch)
treef1a37f59cb67b7ec7944ac8342947ab09da6930d
parentb57ef873e088cddf0706324fa2269f3c25ce8498 (diff)
library/DIAMETER_Emulation: handle DWR/DWA ping-pong
-rw-r--r--library/DIAMETER_Emulation.ttcn8
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 {