pespin submitted this change.

View Change


Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved
asterisk: IMS: Fix seq_nr during MT calls

Change-Id: Ieeb9fb803ab3b1d02b5bfd8198702780914ec318
---
M asterisk/IMS_ConnectionHandler.ttcn
1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/asterisk/IMS_ConnectionHandler.ttcn b/asterisk/IMS_ConnectionHandler.ttcn
index 4b50c31..c7d87b2 100644
--- a/asterisk/IMS_ConnectionHandler.ttcn
+++ b/asterisk/IMS_ConnectionHandler.ttcn
@@ -1128,6 +1128,7 @@
var default d_trying, d_ringing;
var charstring branch_value;
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));
@@ -1168,12 +1169,13 @@
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,
- g_pars.subscr.cp.sip_seq_nr,
+ sip_seq_nr,
accept := ts_Accept({ ts_AcceptBody("application/sdp"), ts_AcceptBody("application/3gpp-ims+xml") }),
min_SE := min_SE,
session_expires := session_expires,
@@ -1187,7 +1189,7 @@
from_addr_exp,
to_addr_exp,
f_tr_Via_response(via),
- g_pars.subscr.cp.sip_seq_nr, "INVITE");
+ sip_seq_nr, "INVITE");
d_trying := activate(as_SIP_ignore_resp(exp));

if (g_pars.subscr.cp.mt.tx_coord_cmd_session_progress) {
@@ -1203,7 +1205,7 @@
from_addr_exp,
to_addr_exp,
f_tr_Via_response(via),
- g_pars.subscr.cp.sip_seq_nr, "INVITE",
+ sip_seq_nr, "INVITE",
require := tr_Require(superset("100rel", "precondition")),
rseq := tr_RSeq(?),
body := ?);
@@ -1310,13 +1312,14 @@

g_pars.subscr.cp.sip_seq_nr := g_rx_sip_resp.msgHeader.cSeq.seqNumber + 1;
}
+ g_pars.subscr.cp.sip_seq_nr := g_pars.subscr.cp.sip_seq_nr + 1;

/* Conditionally match and accept 180 Ringing */
exp := tr_SIP_Response_Ringing(g_pars.subscr.cp.sip_call_id,
from_addr_exp,
to_addr_exp,
f_tr_Via_response(via),
- g_pars.subscr.cp.sip_seq_nr, "INVITE");
+ sip_seq_nr, "INVITE");
d_ringing := activate(as_SIP_ignore_resp(exp));

called_contact := g_rx_sip_resp.msgHeader.contact;
@@ -1329,7 +1332,7 @@
f_tr_Via_response(via),
called_contact,
"INVITE", 200,
- g_pars.subscr.cp.sip_seq_nr, "OK",
+ sip_seq_nr, "OK",
body := *);
as_SIP_expect_resp(exp, fail_others := false);

@@ -1343,7 +1346,6 @@
g_pars.subscr.cp.to_addr := g_rx_sip_resp.msgHeader.toField;

/* Transmit ACK */
- g_pars.subscr.cp.sip_seq_nr := g_pars.subscr.cp.sip_seq_nr + 1;
req := ts_SIP_ACK(called_contact.contactBody.contactAddresses[0].addressField.nameAddr.addrSpec,
g_pars.subscr.cp.sip_call_id,
g_pars.subscr.cp.from_addr,

To view, visit change 37335. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ieeb9fb803ab3b1d02b5bfd8198702780914ec318
Gerrit-Change-Number: 37335
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>
Gerrit-MessageType: merged