pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/37302?usp=email )
Change subject: asterisk: SIP UA: Expect possible Rx of 183 Session Progress ......................................................................
asterisk: SIP UA: Expect possible Rx of 183 Session Progress
Change-Id: Ib1b60e9d6ea931131187b1d0306f7adfc319ed01 --- M asterisk/SIP_ConnectionHandler.ttcn M library/SIP_Templates.ttcn 2 files changed, 20 insertions(+), 2 deletions(-)
Approvals: daniel: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified
diff --git a/asterisk/SIP_ConnectionHandler.ttcn b/asterisk/SIP_ConnectionHandler.ttcn index da4328c..696be8a 100644 --- a/asterisk/SIP_ConnectionHandler.ttcn +++ b/asterisk/SIP_ConnectionHandler.ttcn @@ -391,7 +391,7 @@ var template (present) To to_addr_exp; var Via via; var charstring tx_sdp := f_gen_sdp(); - var default d_trying, d_ringing; + var default d_trying, d_ringing, d_sessprog; var charstring branch_value;
/* RFC 3261 8.1.1.3 From */ @@ -446,6 +446,14 @@ g_pars.cp.sip_seq_nr, "INVITE"); d_trying := activate(as_SIP_ignore_resp(exp));
+ /* Conditionally match and accept 183 Session Progress */ + exp := tr_SIP_Response_SessionProgress(g_pars.cp.sip_call_id, + from_addr_exp, + to_addr_exp, + f_tr_Via_response(via), + g_pars.cp.sip_seq_nr, "INVITE"); + d_sessprog := activate(as_SIP_ignore_resp(exp)); + /* Conditionally match and accept 180 Ringing */ exp := tr_SIP_Response_Ringing(g_pars.cp.sip_call_id, from_addr_exp, @@ -467,6 +475,7 @@ as_SIP_expect_resp(exp, fail_others := false);
deactivate(d_trying); + deactivate(d_sessprog); deactivate(d_ringing);
/* Update To with the tags received from peer: */ diff --git a/library/SIP_Templates.ttcn b/library/SIP_Templates.ttcn index 374fe32..f97e3b7 100644 --- a/library/SIP_Templates.ttcn +++ b/library/SIP_Templates.ttcn @@ -1323,7 +1323,7 @@ template (present) charstring method := "INVITE", template Require require := *, template RSeq rseq := *, - template (omit) charstring body := omit) := { + template charstring body := *) := { statusLine := tr_SIP_StatusLine(183, "Session Progress"), msgHeader := tr_SIP_msgh_std(call_id, from_addr, to_addr, *, via,