pespin has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/37480?usp=email )

Change subject: asterisk: IMS: MT call: Move Tx INVITE to helper function
......................................................................

asterisk: IMS: MT call: Move Tx INVITE to helper function

This helper function will be used by another function expecting an
INVITE reject in a follow-up patch.

Change-Id: If9657e88304fd7b3558737fdc807bae59cddc8a2
---
M asterisk/IMS_ConnectionHandler.ttcn
1 file changed, 45 insertions(+), 15 deletions(-)

Approvals:
  laforge: Looks good to me, but someone else must approve
  pespin: Looks good to me, approved
  Jenkins Builder: Verified




diff --git a/asterisk/IMS_ConnectionHandler.ttcn 
b/asterisk/IMS_ConnectionHandler.ttcn
index 6a1328d..d4c9da2 100644
--- a/asterisk/IMS_ConnectionHandler.ttcn
+++ b/asterisk/IMS_ConnectionHandler.ttcn
@@ -1120,32 +1120,21 @@
        return via;
 }

-/* IMS Core starts a call towards the peer: 3GPP TS 24.229 5.1.3.1 */
-function f_IMS_mt_call_setup() runs on IMS_ConnHdlr
+private function f_IMS_mt_call_tx_invite(Via via) runs on IMS_ConnHdlr
 {
        var template (value) PDU_SIP_Request req;
-       var template (present) PDU_SIP_Response exp;
        var template (present) From from_addr_exp;
        var template (present) To to_addr_exp;
-       var Via via;
-       var template (omit) Require require := omit;
        var template (omit) Min_SE min_SE := omit;
        var template (omit) Session_expires session_expires := omit;
        var template (omit) Supported supported := omit;
        var OptionTag_List supported_list := {};
        var charstring tx_sdp;
-       var default d_trying, d_ringing;
-       var Contact calling_contact, called_contact;
-       var integer sip_seq_nr;
+       var Contact calling_contact;

        /* RFC 3261 8.1.1.3 From */
-       g_pars.subscr.cp.from_addr := 
valueof(ts_From(g_pars.subscr.cp.calling.addr, 
g_pars.subscr.cp.calling.params));
-       g_pars.subscr.cp.from_addr.fromParams := 
f_sip_param_set(g_pars.subscr.cp.from_addr.fromParams, "tag", f_sip_rand_tag());
-       g_pars.subscr.cp.to_addr := valueof(ts_To(g_pars.subscr.cp.called.addr, 
g_pars.subscr.cp.called.params));
        from_addr_exp := 
tr_From(tr_Addr_Union_from_val(g_pars.subscr.cp.from_addr.addressField), *);
        to_addr_exp := 
tr_To(tr_Addr_Union_from_val(g_pars.subscr.cp.to_addr.addressField), *);
-       via := f_IMS_gen_new_Via();
-
        calling_contact := valueof(ts_Contact({
                                        
ts_ContactAddress(g_pars.subscr.cp.calling.addr, omit)
                                }));
@@ -1172,13 +1161,12 @@
                supported := ts_Supported(supported_list);
        }

-       sip_seq_nr := g_pars.subscr.cp.sip_seq_nr;
        req := ts_SIP_INVITE(g_pars.subscr.cp.sip_call_id,
                             g_pars.subscr.cp.from_addr,
                             g_pars.subscr.cp.to_addr,
                             via,
                             calling_contact,
-                            sip_seq_nr,
+                            g_pars.subscr.cp.sip_seq_nr,
                             accept := ts_Accept({ 
ts_AcceptBody("application/sdp"), ts_AcceptBody("application/3gpp-ims+xml") }),
                             min_SE := min_SE,
                             session_expires := session_expires,
@@ -1186,6 +1174,36 @@
                             body := tx_sdp);

        SIP.send(req);
+}
+
+/* IMS Core starts a call towards the peer: 3GPP TS 24.229 5.1.3.1 */
+function f_IMS_mt_call_setup() runs on IMS_ConnHdlr
+{
+       var template (value) PDU_SIP_Request req;
+       var template (present) PDU_SIP_Response exp;
+       var template (present) From from_addr_exp;
+       var template (present) To to_addr_exp;
+       var Via via;
+       var template (omit) Require require := omit;
+       var charstring tx_sdp;
+       var default d_trying, d_ringing;
+       var Contact calling_contact, called_contact;
+       var integer sip_seq_nr;
+
+       /* RFC 3261 8.1.1.3 From */
+       g_pars.subscr.cp.from_addr := 
valueof(ts_From(g_pars.subscr.cp.calling.addr, 
g_pars.subscr.cp.calling.params));
+       g_pars.subscr.cp.from_addr.fromParams := 
f_sip_param_set(g_pars.subscr.cp.from_addr.fromParams, "tag", f_sip_rand_tag());
+       g_pars.subscr.cp.to_addr := valueof(ts_To(g_pars.subscr.cp.called.addr, 
g_pars.subscr.cp.called.params));
+       from_addr_exp := 
tr_From(tr_Addr_Union_from_val(g_pars.subscr.cp.from_addr.addressField), *);
+       to_addr_exp := 
tr_To(tr_Addr_Union_from_val(g_pars.subscr.cp.to_addr.addressField), *);
+       calling_contact := valueof(ts_Contact({
+                                       
ts_ContactAddress(g_pars.subscr.cp.calling.addr, omit)
+                               }));
+       via := f_IMS_gen_new_Via();
+
+       f_IMS_mt_call_tx_invite(via);
+
+       sip_seq_nr := g_pars.subscr.cp.sip_seq_nr;

        /* Conditionally match and accept 100 Trying. */
        exp := tr_SIP_Response_Trying(g_pars.subscr.cp.sip_call_id,

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/37480?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: If9657e88304fd7b3558737fdc807bae59cddc8a2
Gerrit-Change-Number: 37480
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-MessageType: merged

Reply via email to