From 88a64784b9deaee2c734f227eabd804ac20956f4 Mon Sep 17 00:00:00 2001 From: Stefan Sayer Date: Mon, 15 Nov 2010 17:23:18 +0100 Subject: [PATCH] DSM example: handling CANCEL while INVITE pending --- doc/dsm/examples/handle_cancel.dsm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 doc/dsm/examples/handle_cancel.dsm diff --git a/doc/dsm/examples/handle_cancel.dsm b/doc/dsm/examples/handle_cancel.dsm new file mode 100644 index 00000000..efcc3e98 --- /dev/null +++ b/doc/dsm/examples/handle_cancel.dsm @@ -0,0 +1,21 @@ +-- handle cancel correctly +-- by replying with 487 +-- +-- this is only necessary if run_invite_event=yes +-- and final reply to INVITE is delayed +-- so CANCEL can happen while call setup is proceeding +import(mod_dlg); +initial state BEGIN; + +transition "inv got" BEGIN - invite / { + set($connect_session=0); + dlg.reply(101, Still Trying); +} -> WAIT; + +transition "cancel" BEGIN - hangup / { + dlg.reply(487, canceled); + stop(false); +} -> END; + +state WAIT; +state END; \ No newline at end of file