<p>neels has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-msc/+/15347">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">fix msc_vlr_test_call.c<br><br>Substantial parts of the CC / MNCC call establishment were so far completely<br>missing from the msc_vlr_test_call.c tests. With my new insights on CC and MNCC<br>procedures, complete the tests.<br><br>Root reason: since I am going to re-order the sequence of events to enable<br>codec negotiation via SDP in MNCC, I want to have comprehensive tests of the CC<br>procedures to see the effect as diffs in the test output.<br><br>Change-Id: Ie995e264eb1e3dd9558a1753ff6f9b55c1d084e1<br>---<br>M tests/msc_vlr/msc_vlr_test_call.c<br>M tests/msc_vlr/msc_vlr_test_call.err<br>M tests/msc_vlr/msc_vlr_tests.c<br>M tests/msc_vlr/msc_vlr_tests.h<br>4 files changed, 433 insertions(+), 23 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/47/15347/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/tests/msc_vlr/msc_vlr_test_call.c b/tests/msc_vlr/msc_vlr_test_call.c</span><br><span>index 065af25..4d898be 100644</span><br><span>--- a/tests/msc_vlr/msc_vlr_test_call.c</span><br><span>+++ b/tests/msc_vlr/msc_vlr_test_call.c</span><br><span>@@ -213,6 +213,25 @@</span><br><span>         OSMO_ASSERT(cc_to_mncc_tx_confirmed);</span><br><span>        mncc.callref = cc_to_mncc_tx_got_callref;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ btw("MNCC replies with MNCC_RTP_CREATE, causing MGW endpoint CRCX to RAN");</span><br><span style="color: hsl(120, 100%, 40%);">+ expect_crcx(RTP_TO_RAN);</span><br><span style="color: hsl(120, 100%, 40%);">+      mncc_sends_to_cc(MNCC_RTP_CREATE, &mncc);</span><br><span style="color: hsl(120, 100%, 40%);">+ OSMO_ASSERT(got_crcx);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      btw("MGW acknowledges the CRCX, triggering Assignment");</span><br><span style="color: hsl(120, 100%, 40%);">+    expect_iu_rab_assignment();</span><br><span style="color: hsl(120, 100%, 40%);">+   crcx_ok(RTP_TO_RAN);</span><br><span style="color: hsl(120, 100%, 40%);">+  OSMO_ASSERT(iu_rab_assignment_sent);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        btw("Assignment succeeds, triggering CRCX to CN");</span><br><span style="color: hsl(120, 100%, 40%);">+  expect_crcx(RTP_TO_CN);</span><br><span style="color: hsl(120, 100%, 40%);">+       ms_sends_assignment_complete();</span><br><span style="color: hsl(120, 100%, 40%);">+       OSMO_ASSERT(got_crcx);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      btw("CN RTP address is available, trigger MNCC_RTP_CREATE");</span><br><span style="color: hsl(120, 100%, 40%);">+        cc_to_mncc_expect_tx("", MNCC_RTP_CREATE);</span><br><span style="color: hsl(120, 100%, 40%);">+  crcx_ok(RTP_TO_CN);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>        btw("MNCC says that's fine");</span><br><span>  dtap_expect_tx("8302" /* CC: Call Proceeding */);</span><br><span>  mncc_sends_to_cc(MNCC_CALL_PROC_REQ, &mncc);</span><br><span>@@ -298,11 +317,32 @@</span><br><span>     dtap_expect_tx("0305" /* CC: Setup */);</span><br><span>    ms_sends_security_mode_complete();</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+        btw("MS confirms call, we create a RAN-side RTP and forward MNCC_CALL_CONF_IND");</span><br><span style="color: hsl(120, 100%, 40%);">+   expect_crcx(RTP_TO_RAN);</span><br><span>     cc_to_mncc_expect_tx(IMSI, MNCC_CALL_CONF_IND);</span><br><span>      ms_sends_msg("8348" /* CC: Call Confirmed */</span><br><span>                    "0406600402000581" /* Bearer Capability */</span><br><span>                 "15020100" /* Call Control Capabilities */</span><br><span>                 "40080402600400021f00" /* Supported Codec List */);</span><br><span style="color: hsl(120, 100%, 40%);">+    OSMO_ASSERT(got_crcx);</span><br><span style="color: hsl(120, 100%, 40%);">+        OSMO_ASSERT(cc_to_mncc_tx_confirmed);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       btw("MNCC sends MNCC_RTP_CREATE");</span><br><span style="color: hsl(120, 100%, 40%);">+  mncc_sends_to_cc(MNCC_RTP_CREATE, &mncc);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       btw("MGW acknowledges the CRCX to RAN, triggering Assignment");</span><br><span style="color: hsl(120, 100%, 40%);">+     expect_iu_rab_assignment();</span><br><span style="color: hsl(120, 100%, 40%);">+   crcx_ok(RTP_TO_RAN);</span><br><span style="color: hsl(120, 100%, 40%);">+  OSMO_ASSERT(iu_rab_assignment_sent);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        btw("Assignment completes, triggering CRCX to CN");</span><br><span style="color: hsl(120, 100%, 40%);">+ expect_crcx(RTP_TO_CN);</span><br><span style="color: hsl(120, 100%, 40%);">+       ms_sends_assignment_complete();</span><br><span style="color: hsl(120, 100%, 40%);">+       OSMO_ASSERT(got_crcx);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      btw("When the CN side RTP address is known, send MNCC_RTP_CREATE");</span><br><span style="color: hsl(120, 100%, 40%);">+ cc_to_mncc_expect_tx("", MNCC_RTP_CREATE);</span><br><span style="color: hsl(120, 100%, 40%);">+  crcx_ok(RTP_TO_CN);</span><br><span> </span><br><span>      fake_time_passes(1, 23);</span><br><span> </span><br><span>@@ -380,13 +420,32 @@</span><br><span>         dtap_expect_tx("0305" /* CC: Setup */);</span><br><span>    ms_sends_security_mode_complete();</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+        btw("MS confirms call, we create a RAN-side RTP and forward MNCC_CALL_CONF_IND");</span><br><span style="color: hsl(120, 100%, 40%);">+   expect_crcx(RTP_TO_RAN);</span><br><span>     cc_to_mncc_expect_tx(IMSI, MNCC_CALL_CONF_IND);</span><br><span>      ms_sends_msg("8348" /* CC: Call Confirmed */</span><br><span>                    "0406600402000581" /* Bearer Capability */</span><br><span>                 "15020100" /* Call Control Capabilities */</span><br><span>                 "40080402600400021f00" /* Supported Codec List */);</span><br><span style="color: hsl(120, 100%, 40%);">+    OSMO_ASSERT(got_crcx);</span><br><span>       OSMO_ASSERT(cc_to_mncc_tx_confirmed);</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+     btw("MNCC sends MNCC_RTP_CREATE");</span><br><span style="color: hsl(120, 100%, 40%);">+  mncc_sends_to_cc(MNCC_RTP_CREATE, &mncc);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       btw("MGW acknowledges the CRCX to RAN, triggering Assignment");</span><br><span style="color: hsl(120, 100%, 40%);">+     expect_iu_rab_assignment();</span><br><span style="color: hsl(120, 100%, 40%);">+   crcx_ok(RTP_TO_RAN);</span><br><span style="color: hsl(120, 100%, 40%);">+  OSMO_ASSERT(iu_rab_assignment_sent);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        btw("Assignment completes, triggering CRCX to CN");</span><br><span style="color: hsl(120, 100%, 40%);">+ expect_crcx(RTP_TO_CN);</span><br><span style="color: hsl(120, 100%, 40%);">+       ms_sends_assignment_complete();</span><br><span style="color: hsl(120, 100%, 40%);">+       OSMO_ASSERT(got_crcx);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      btw("When the CN side RTP address is known, send MNCC_RTP_CREATE");</span><br><span style="color: hsl(120, 100%, 40%);">+ cc_to_mncc_expect_tx("", MNCC_RTP_CREATE);</span><br><span style="color: hsl(120, 100%, 40%);">+  crcx_ok(RTP_TO_CN);</span><br><span>  fake_time_passes(1, 23);</span><br><span> </span><br><span>         cc_to_mncc_expect_tx("", MNCC_ALERT_IND);</span><br><span>@@ -470,6 +529,25 @@</span><br><span>   OSMO_ASSERT(cc_to_mncc_tx_confirmed);</span><br><span>        mncc.callref = cc_to_mncc_tx_got_callref;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ btw("MNCC replies with MNCC_RTP_CREATE, causing MGW endpoint CRCX to RAN");</span><br><span style="color: hsl(120, 100%, 40%);">+ expect_crcx(RTP_TO_RAN);</span><br><span style="color: hsl(120, 100%, 40%);">+      mncc_sends_to_cc(MNCC_RTP_CREATE, &mncc);</span><br><span style="color: hsl(120, 100%, 40%);">+ OSMO_ASSERT(got_crcx);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      btw("MGW acknowledges the CRCX, triggering Assignment");</span><br><span style="color: hsl(120, 100%, 40%);">+    expect_iu_rab_assignment();</span><br><span style="color: hsl(120, 100%, 40%);">+   crcx_ok(RTP_TO_RAN);</span><br><span style="color: hsl(120, 100%, 40%);">+  OSMO_ASSERT(iu_rab_assignment_sent);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        btw("Assignment succeeds, triggering CRCX to CN");</span><br><span style="color: hsl(120, 100%, 40%);">+  expect_crcx(RTP_TO_CN);</span><br><span style="color: hsl(120, 100%, 40%);">+       ms_sends_assignment_complete();</span><br><span style="color: hsl(120, 100%, 40%);">+       OSMO_ASSERT(got_crcx);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      btw("CN RTP address is available, trigger MNCC_RTP_CREATE");</span><br><span style="color: hsl(120, 100%, 40%);">+        cc_to_mncc_expect_tx("", MNCC_RTP_CREATE);</span><br><span style="color: hsl(120, 100%, 40%);">+  crcx_ok(RTP_TO_CN);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>        btw("MNCC says that's fine");</span><br><span>  dtap_expect_tx("8302" /* CC: Call Proceeding */);</span><br><span>  mncc_sends_to_cc(MNCC_CALL_PROC_REQ, &mncc);</span><br><span>@@ -547,6 +625,25 @@</span><br><span>      OSMO_ASSERT(cc_to_mncc_tx_confirmed);</span><br><span>        mncc.callref = cc_to_mncc_tx_got_callref;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ btw("MNCC replies with MNCC_RTP_CREATE, causing MGW endpoint CRCX to RAN");</span><br><span style="color: hsl(120, 100%, 40%);">+ expect_crcx(RTP_TO_RAN);</span><br><span style="color: hsl(120, 100%, 40%);">+      mncc_sends_to_cc(MNCC_RTP_CREATE, &mncc);</span><br><span style="color: hsl(120, 100%, 40%);">+ OSMO_ASSERT(got_crcx);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      btw("MGW acknowledges the CRCX, triggering Assignment");</span><br><span style="color: hsl(120, 100%, 40%);">+    expect_iu_rab_assignment();</span><br><span style="color: hsl(120, 100%, 40%);">+   crcx_ok(RTP_TO_RAN);</span><br><span style="color: hsl(120, 100%, 40%);">+  OSMO_ASSERT(iu_rab_assignment_sent);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        btw("Assignment succeeds, triggering CRCX to CN");</span><br><span style="color: hsl(120, 100%, 40%);">+  expect_crcx(RTP_TO_CN);</span><br><span style="color: hsl(120, 100%, 40%);">+       ms_sends_assignment_complete();</span><br><span style="color: hsl(120, 100%, 40%);">+       OSMO_ASSERT(got_crcx);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      btw("CN RTP address is available, trigger MNCC_RTP_CREATE");</span><br><span style="color: hsl(120, 100%, 40%);">+        cc_to_mncc_expect_tx("", MNCC_RTP_CREATE);</span><br><span style="color: hsl(120, 100%, 40%);">+  crcx_ok(RTP_TO_CN);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>        btw("MNCC says that's fine");</span><br><span>  dtap_expect_tx("8302" /* CC: Call Proceeding */);</span><br><span>  mncc_sends_to_cc(MNCC_CALL_PROC_REQ, &mncc);</span><br><span>diff --git a/tests/msc_vlr/msc_vlr_test_call.err b/tests/msc_vlr/msc_vlr_test_call.err</span><br><span>index bbfa61b..c802cd4 100644</span><br><span>--- a/tests/msc_vlr/msc_vlr_test_call.err</span><br><span>+++ b/tests/msc_vlr/msc_vlr_test_call.err</span><br><span>@@ -296,6 +296,37 @@</span><br><span> DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_SETUP_IND</span><br><span>   MSC --> MNCC: callref 0x80000001: MNCC_SETUP_IND</span><br><span> DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc)</span><br><span style="color: hsl(120, 100%, 40%);">+- MNCC replies with MNCC_RTP_CREATE, causing MGW endpoint CRCX to RAN</span><br><span style="color: hsl(120, 100%, 40%);">+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_RTP_CREATE</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Starting call assignment</span><br><span style="color: hsl(120, 100%, 40%);">+DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: Allocated</span><br><span style="color: hsl(120, 100%, 40%);">+DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span style="color: hsl(120, 100%, 40%);">+  MGW <--CRCX to RTP_TO_RAN-- MSC: callref=0x80000001</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: Allocated</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: is child of call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span style="color: hsl(120, 100%, 40%);">+- MGW acknowledges the CRCX, triggering Assignment</span><br><span style="color: hsl(120, 100%, 40%);">+  MGW --CRCX OK to RTP_TO_RAN--> MSC</span><br><span style="color: hsl(120, 100%, 40%);">+DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: Received Event CALL_LEG_EV_RTP_STREAM_ADDR_AVAILABLE</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Received Event MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: MGW endpoint's RTP address available for the CI RTP_TO_RAN: 10.23.23.1:23 (osmux=no:-2)</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: ASSIGNMENT_COMMAND on UTRAN-Iu</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span style="color: hsl(120, 100%, 40%);">+- Assignment succeeds, triggering CRCX to CN</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN decode: ASSIGNMENT_COMPLETE</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483649:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codec to PCMU/8000/1</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483649:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: setting remote addr to :0</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483649:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Not committing: no MGW endpoint CI set up</span><br><span style="color: hsl(120, 100%, 40%);">+  MGW <--CRCX to RTP_TO_CN-- MSC: callref=0x80000001</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: Allocated</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: is child of call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483649:RTP_TO_CN:no-CI){UNINITIALIZED}: setting codec to PCMU/8000/1</span><br><span style="color: hsl(120, 100%, 40%);">+- CN RTP address is available, trigger MNCC_RTP_CREATE</span><br><span style="color: hsl(120, 100%, 40%);">+  MGW --CRCX OK to RTP_TO_CN--> MSC</span><br><span style="color: hsl(120, 100%, 40%);">+DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: Received Event CALL_LEG_EV_RTP_STREAM_ADDR_AVAILABLE</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Received Event MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: MGW endpoint's RTP address available for the CI RTP_TO_CN: 10.23.23.1:23 (osmux=no:-2)</span><br><span style="color: hsl(120, 100%, 40%);">+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) tx MNCC_RTP_CREATE</span><br><span style="color: hsl(120, 100%, 40%);">+  MSC --> MNCC: callref 0x80000001: MNCC_RTP_CREATE</span><br><span> - MNCC says that's fine</span><br><span> DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_CALL_PROC_REQ</span><br><span> DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) stopping pending guard timer</span><br><span>@@ -306,10 +337,7 @@</span><br><span> - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CALL_PROC: 8302</span><br><span> - DTAP matches expected message</span><br><span> DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span style="color: hsl(0, 100%, 40%);">-DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Starting call assignment</span><br><span style="color: hsl(0, 100%, 40%);">-DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: Allocated</span><br><span style="color: hsl(0, 100%, 40%);">-DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span style="color: hsl(0, 100%, 40%);">-  MS <--Call Assignment-- MSC: callref=0x80000001</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Assignment for this trans already started earlier</span><br><span> - Total time passed: 1.000023 s</span><br><span> - The other call leg got established (not shown here), MNCC tells us so</span><br><span> DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000001 tid-8) rx MNCC_ALERT_REQ</span><br><span>@@ -390,9 +418,15 @@</span><br><span> DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,active-conn,msc_a_fsm_releasing_onenter)</span><br><span> DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: state_chg to RELEASING</span><br><span> DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){RELEASING}: Terminating (cause = OSMO_FSM_TERM_REGULAR)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483649:RTP_TO_CN:no-CI){UNINITIALIZED}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ))</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483649:RTP_TO_CN:no-CI){UNINITIALIZED}: Removing from parent call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483649:RTP_TO_CN:no-CI){UNINITIALIZED}: Deferring: will deallocate with call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483649:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ))</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483649:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Removing from parent call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483649:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Deferring: will deallocate with call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span> DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){RELEASING}: Removing from parent msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span> DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: Received Event MSC_EV_CALL_LEG_TERM</span><br><span style="color: hsl(0, 100%, 40%);">-DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){RELEASING}: Deallocated</span><br><span style="color: hsl(120, 100%, 40%);">+DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){RELEASING}: Deallocated, including all deferred deallocations</span><br><span> DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: + wait-Clear-Complete: now used by 1 (wait-Clear-Complete)</span><br><span> DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on UTRAN-Iu</span><br><span> DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span>@@ -720,6 +754,7 @@</span><br><span> DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span> DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - Paging: now used by 3 (attached,CC,active-conn)</span><br><span> DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - paging-response: now used by 1 (cc)</span><br><span style="color: hsl(120, 100%, 40%);">+- MS confirms call, we create a RAN-side RTP and forward MNCC_CALL_CONF_IND</span><br><span>   MSC <--UTRAN-Iu-- MS: GSM48_MT_CC_CALL_CONF</span><br><span> DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms)</span><br><span> DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP</span><br><span>@@ -731,10 +766,38 @@</span><br><span> DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Starting call assignment</span><br><span> DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: Allocated</span><br><span> DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)</span><br><span style="color: hsl(0, 100%, 40%);">-  MS <--Call Assignment-- MSC: callref=0x423</span><br><span style="color: hsl(120, 100%, 40%);">+  MGW <--CRCX to RTP_TO_RAN-- MSC: callref=0x423</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){UNINITIALIZED}: Allocated</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){UNINITIALIZED}: is child of call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)</span><br><span> DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_CALL_CONF_IND</span><br><span>   MSC --> MNCC: callref 0x423: MNCC_CALL_CONF_IND</span><br><span> DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc)</span><br><span style="color: hsl(120, 100%, 40%);">+- MNCC sends MNCC_RTP_CREATE</span><br><span style="color: hsl(120, 100%, 40%);">+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_RTP_CREATE</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Assignment for this trans already started earlier</span><br><span style="color: hsl(120, 100%, 40%);">+- MGW acknowledges the CRCX to RAN, triggering Assignment</span><br><span style="color: hsl(120, 100%, 40%);">+  MGW --CRCX OK to RTP_TO_RAN--> MSC</span><br><span style="color: hsl(120, 100%, 40%);">+DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: Received Event CALL_LEG_EV_RTP_STREAM_ADDR_AVAILABLE</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Received Event MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: MGW endpoint's RTP address available for the CI RTP_TO_RAN: 10.23.23.1:23 (osmux=no:-2)</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN encode: ASSIGNMENT_COMMAND on UTRAN-Iu</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span style="color: hsl(120, 100%, 40%);">+- Assignment completes, triggering CRCX to CN</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN decode: ASSIGNMENT_COMPLETE</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codec to PCMU/8000/1</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: setting remote addr to :0</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Not committing: no MGW endpoint CI set up</span><br><span style="color: hsl(120, 100%, 40%);">+  MGW <--CRCX to RTP_TO_CN-- MSC: callref=0x423</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){UNINITIALIZED}: Allocated</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){UNINITIALIZED}: is child of call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_CN:no-CI){UNINITIALIZED}: setting codec to PCMU/8000/1</span><br><span style="color: hsl(120, 100%, 40%);">+- When the CN side RTP address is known, send MNCC_RTP_CREATE</span><br><span style="color: hsl(120, 100%, 40%);">+  MGW --CRCX OK to RTP_TO_CN--> MSC</span><br><span style="color: hsl(120, 100%, 40%);">+DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: Received Event CALL_LEG_EV_RTP_STREAM_ADDR_AVAILABLE</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Received Event MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: MGW endpoint's RTP address available for the CI RTP_TO_CN: 10.23.23.1:23 (osmux=no:-2)</span><br><span style="color: hsl(120, 100%, 40%);">+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_RTP_CREATE</span><br><span style="color: hsl(120, 100%, 40%);">+  MSC --> MNCC: callref 0x423: MNCC_RTP_CREATE</span><br><span> - Total time passed: 1.000023 s</span><br><span>   MSC <--UTRAN-Iu-- MS: GSM48_MT_CC_ALERTING</span><br><span> DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms)</span><br><span>@@ -814,9 +877,15 @@</span><br><span> DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,active-conn,msc_a_fsm_releasing_onenter)</span><br><span> DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: state_chg to RELEASING</span><br><span> DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){RELEASING}: Terminating (cause = OSMO_FSM_TERM_REGULAR)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_CN:no-CI){UNINITIALIZED}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP))</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_CN:no-CI){UNINITIALIZED}: Removing from parent call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_CN:no-CI){UNINITIALIZED}: Deferring: will deallocate with call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP))</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Removing from parent call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Deferring: will deallocate with call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)</span><br><span> DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){RELEASING}: Removing from parent msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)</span><br><span> DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_RELEASING}: Received Event MSC_EV_CALL_LEG_TERM</span><br><span style="color: hsl(0, 100%, 40%);">-DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){RELEASING}: Deallocated</span><br><span style="color: hsl(120, 100%, 40%);">+DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){RELEASING}: Deallocated, including all deferred deallocations</span><br><span> DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_RELEASING}: + wait-Clear-Complete: now used by 1 (wait-Clear-Complete)</span><br><span> DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on UTRAN-Iu</span><br><span> DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span>@@ -1144,6 +1213,7 @@</span><br><span> DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span> DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - Paging: now used by 3 (attached,CC,active-conn)</span><br><span> DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - paging-response: now used by 1 (cc)</span><br><span style="color: hsl(120, 100%, 40%);">+- MS confirms call, we create a RAN-side RTP and forward MNCC_CALL_CONF_IND</span><br><span>   MSC <--UTRAN-Iu-- MS: GSM48_MT_CC_CALL_CONF</span><br><span> DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms)</span><br><span> DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN decode: DTAP</span><br><span>@@ -1155,10 +1225,38 @@</span><br><span> DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Starting call assignment</span><br><span> DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: Allocated</span><br><span> DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)</span><br><span style="color: hsl(0, 100%, 40%);">-  MS <--Call Assignment-- MSC: callref=0x423</span><br><span style="color: hsl(120, 100%, 40%);">+  MGW <--CRCX to RTP_TO_RAN-- MSC: callref=0x423</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){UNINITIALIZED}: Allocated</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){UNINITIALIZED}: is child of call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)</span><br><span> DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_CALL_CONF_IND</span><br><span>   MSC --> MNCC: callref 0x423: MNCC_CALL_CONF_IND</span><br><span> DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc)</span><br><span style="color: hsl(120, 100%, 40%);">+- MNCC sends MNCC_RTP_CREATE</span><br><span style="color: hsl(120, 100%, 40%);">+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) rx MNCC_RTP_CREATE</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Assignment for this trans already started earlier</span><br><span style="color: hsl(120, 100%, 40%);">+- MGW acknowledges the CRCX to RAN, triggering Assignment</span><br><span style="color: hsl(120, 100%, 40%);">+  MGW --CRCX OK to RTP_TO_RAN--> MSC</span><br><span style="color: hsl(120, 100%, 40%);">+DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: Received Event CALL_LEG_EV_RTP_STREAM_ADDR_AVAILABLE</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Received Event MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: MGW endpoint's RTP address available for the CI RTP_TO_RAN: 10.23.23.1:23 (osmux=no:-2)</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN encode: ASSIGNMENT_COMMAND on UTRAN-Iu</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span style="color: hsl(120, 100%, 40%);">+- Assignment completes, triggering CRCX to CN</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: RAN decode: ASSIGNMENT_COMPLETE</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codec to PCMU/8000/1</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: setting remote addr to :0</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Not committing: no MGW endpoint CI set up</span><br><span style="color: hsl(120, 100%, 40%);">+  MGW <--CRCX to RTP_TO_CN-- MSC: callref=0x423</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){UNINITIALIZED}: Allocated</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){UNINITIALIZED}: is child of call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_CN:no-CI){UNINITIALIZED}: setting codec to PCMU/8000/1</span><br><span style="color: hsl(120, 100%, 40%);">+- When the CN side RTP address is known, send MNCC_RTP_CREATE</span><br><span style="color: hsl(120, 100%, 40%);">+  MGW --CRCX OK to RTP_TO_CN--> MSC</span><br><span style="color: hsl(120, 100%, 40%);">+DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: Received Event CALL_LEG_EV_RTP_STREAM_ADDR_AVAILABLE</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: Received Event MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: MGW endpoint's RTP address available for the CI RTP_TO_CN: 10.23.23.1:23 (osmux=no:-2)</span><br><span style="color: hsl(120, 100%, 40%);">+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_RTP_CREATE</span><br><span style="color: hsl(120, 100%, 40%);">+  MSC --> MNCC: callref 0x423: MNCC_RTP_CREATE</span><br><span> - Total time passed: 1.000023 s</span><br><span>   MSC <--UTRAN-Iu-- MS: GSM48_MT_CC_ALERTING</span><br><span> DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_COMMUNICATING}: + rx_from_ms: now used by 2 (cc,rx_from_ms)</span><br><span>@@ -1196,9 +1294,15 @@</span><br><span> DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_RELEASING}: Received Event MSC_A_EV_UNUSED</span><br><span> DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){ESTABLISHING}: state_chg to RELEASING</span><br><span> DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){RELEASING}: Terminating (cause = OSMO_FSM_TERM_REGULAR)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_CN:no-CI){UNINITIALIZED}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP))</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_CN:no-CI){UNINITIALIZED}: Removing from parent call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_CN:no-CI){UNINITIALIZED}: Deferring: will deallocate with call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP))</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Removing from parent call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP:trans-0:call-1059:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Deferring: will deallocate with call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)</span><br><span> DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){RELEASING}: Removing from parent msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP)</span><br><span> DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_RELEASING}: Received Event MSC_EV_CALL_LEG_TERM</span><br><span style="color: hsl(0, 100%, 40%);">-DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){RELEASING}: Deallocated</span><br><span style="color: hsl(120, 100%, 40%);">+DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){RELEASING}: Deallocated, including all deferred deallocations</span><br><span> DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_RELEASING}: + wait-Clear-Complete: now used by 1 (wait-Clear-Complete)</span><br><span> DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on UTRAN-Iu</span><br><span> DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span>@@ -1529,6 +1633,37 @@</span><br><span> DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) tx MNCC_SETUP_IND</span><br><span>   MSC --> MNCC: callref 0x80000002: MNCC_SETUP_IND</span><br><span> DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc)</span><br><span style="color: hsl(120, 100%, 40%);">+- MNCC replies with MNCC_RTP_CREATE, causing MGW endpoint CRCX to RAN</span><br><span style="color: hsl(120, 100%, 40%);">+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_RTP_CREATE</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Starting call assignment</span><br><span style="color: hsl(120, 100%, 40%);">+DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: Allocated</span><br><span style="color: hsl(120, 100%, 40%);">+DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span style="color: hsl(120, 100%, 40%);">+  MGW <--CRCX to RTP_TO_RAN-- MSC: callref=0x80000002</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: Allocated</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: is child of call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span style="color: hsl(120, 100%, 40%);">+- MGW acknowledges the CRCX, triggering Assignment</span><br><span style="color: hsl(120, 100%, 40%);">+  MGW --CRCX OK to RTP_TO_RAN--> MSC</span><br><span style="color: hsl(120, 100%, 40%);">+DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: Received Event CALL_LEG_EV_RTP_STREAM_ADDR_AVAILABLE</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Received Event MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: MGW endpoint's RTP address available for the CI RTP_TO_RAN: 10.23.23.1:23 (osmux=no:-2)</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: ASSIGNMENT_COMMAND on UTRAN-Iu</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span style="color: hsl(120, 100%, 40%);">+- Assignment succeeds, triggering CRCX to CN</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN decode: ASSIGNMENT_COMPLETE</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483650:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codec to PCMU/8000/1</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483650:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: setting remote addr to :0</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483650:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Not committing: no MGW endpoint CI set up</span><br><span style="color: hsl(120, 100%, 40%);">+  MGW <--CRCX to RTP_TO_CN-- MSC: callref=0x80000002</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: Allocated</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: is child of call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483650:RTP_TO_CN:no-CI){UNINITIALIZED}: setting codec to PCMU/8000/1</span><br><span style="color: hsl(120, 100%, 40%);">+- CN RTP address is available, trigger MNCC_RTP_CREATE</span><br><span style="color: hsl(120, 100%, 40%);">+  MGW --CRCX OK to RTP_TO_CN--> MSC</span><br><span style="color: hsl(120, 100%, 40%);">+DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: Received Event CALL_LEG_EV_RTP_STREAM_ADDR_AVAILABLE</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Received Event MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: MGW endpoint's RTP address available for the CI RTP_TO_CN: 10.23.23.1:23 (osmux=no:-2)</span><br><span style="color: hsl(120, 100%, 40%);">+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) tx MNCC_RTP_CREATE</span><br><span style="color: hsl(120, 100%, 40%);">+  MSC --> MNCC: callref 0x80000002: MNCC_RTP_CREATE</span><br><span> - MNCC says that's fine</span><br><span> DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_CALL_PROC_REQ</span><br><span> DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) stopping pending guard timer</span><br><span>@@ -1539,10 +1674,7 @@</span><br><span> - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CALL_PROC: 8302</span><br><span> - DTAP matches expected message</span><br><span> DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span style="color: hsl(0, 100%, 40%);">-DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Starting call assignment</span><br><span style="color: hsl(0, 100%, 40%);">-DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: Allocated</span><br><span style="color: hsl(0, 100%, 40%);">-DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span style="color: hsl(0, 100%, 40%);">-  MS <--Call Assignment-- MSC: callref=0x80000002</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Assignment for this trans already started earlier</span><br><span> - But the other side's MSISDN could not be resolved, MNCC tells us to cancel</span><br><span> DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) rx MNCC_REL_REQ</span><br><span> DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000002 tid-8) stopping pending guard timer</span><br><span>@@ -1582,9 +1714,15 @@</span><br><span> DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,active-conn,msc_a_fsm_releasing_onenter)</span><br><span> DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: state_chg to RELEASING</span><br><span> DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){RELEASING}: Terminating (cause = OSMO_FSM_TERM_REGULAR)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483650:RTP_TO_CN:no-CI){UNINITIALIZED}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ))</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483650:RTP_TO_CN:no-CI){UNINITIALIZED}: Removing from parent call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483650:RTP_TO_CN:no-CI){UNINITIALIZED}: Deferring: will deallocate with call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483650:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ))</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483650:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Removing from parent call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483650:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Deferring: will deallocate with call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span> DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){RELEASING}: Removing from parent msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span> DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: Received Event MSC_EV_CALL_LEG_TERM</span><br><span style="color: hsl(0, 100%, 40%);">-DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){RELEASING}: Deallocated</span><br><span style="color: hsl(120, 100%, 40%);">+DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){RELEASING}: Deallocated, including all deferred deallocations</span><br><span> DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: + wait-Clear-Complete: now used by 1 (wait-Clear-Complete)</span><br><span> DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on UTRAN-Iu</span><br><span> DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span>@@ -1914,6 +2052,37 @@</span><br><span> DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) tx MNCC_SETUP_IND</span><br><span>   MSC --> MNCC: callref 0x80000003: MNCC_SETUP_IND</span><br><span> DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: - rx_from_ms: now used by 1 (cc)</span><br><span style="color: hsl(120, 100%, 40%);">+- MNCC replies with MNCC_RTP_CREATE, causing MGW endpoint CRCX to RAN</span><br><span style="color: hsl(120, 100%, 40%);">+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_RTP_CREATE</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Starting call assignment</span><br><span style="color: hsl(120, 100%, 40%);">+DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: Allocated</span><br><span style="color: hsl(120, 100%, 40%);">+DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span style="color: hsl(120, 100%, 40%);">+  MGW <--CRCX to RTP_TO_RAN-- MSC: callref=0x80000003</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: Allocated</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: is child of call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span style="color: hsl(120, 100%, 40%);">+- MGW acknowledges the CRCX, triggering Assignment</span><br><span style="color: hsl(120, 100%, 40%);">+  MGW --CRCX OK to RTP_TO_RAN--> MSC</span><br><span style="color: hsl(120, 100%, 40%);">+DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: Received Event CALL_LEG_EV_RTP_STREAM_ADDR_AVAILABLE</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Received Event MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: MGW endpoint's RTP address available for the CI RTP_TO_RAN: 10.23.23.1:23 (osmux=no:-2)</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN encode: ASSIGNMENT_COMMAND on UTRAN-Iu</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span style="color: hsl(120, 100%, 40%);">+- Assignment succeeds, triggering CRCX to CN</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: RAN decode: ASSIGNMENT_COMPLETE</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483651:RTP_TO_RAN:no-CI){UNINITIALIZED}: setting codec to PCMU/8000/1</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483651:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: setting remote addr to :0</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483651:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Not committing: no MGW endpoint CI set up</span><br><span style="color: hsl(120, 100%, 40%);">+  MGW <--CRCX to RTP_TO_CN-- MSC: callref=0x80000003</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: Allocated</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){UNINITIALIZED}: is child of call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483651:RTP_TO_CN:no-CI){UNINITIALIZED}: setting codec to PCMU/8000/1</span><br><span style="color: hsl(120, 100%, 40%);">+- CN RTP address is available, trigger MNCC_RTP_CREATE</span><br><span style="color: hsl(120, 100%, 40%);">+  MGW --CRCX OK to RTP_TO_CN--> MSC</span><br><span style="color: hsl(120, 100%, 40%);">+DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: Received Event CALL_LEG_EV_RTP_STREAM_ADDR_AVAILABLE</span><br><span style="color: hsl(120, 100%, 40%);">+DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Received Event MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: MGW endpoint's RTP address available for the CI RTP_TO_CN: 10.23.23.1:23 (osmux=no:-2)</span><br><span style="color: hsl(120, 100%, 40%);">+DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) tx MNCC_RTP_CREATE</span><br><span style="color: hsl(120, 100%, 40%);">+  MSC --> MNCC: callref 0x80000003: MNCC_RTP_CREATE</span><br><span> - MNCC says that's fine</span><br><span> DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_CALL_PROC_REQ</span><br><span> DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) stopping pending guard timer</span><br><span>@@ -1924,10 +2093,7 @@</span><br><span> - DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_CALL_PROC: 8302</span><br><span> - DTAP matches expected message</span><br><span> DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span style="color: hsl(0, 100%, 40%);">-DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Starting call assignment</span><br><span style="color: hsl(0, 100%, 40%);">-DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: Allocated</span><br><span style="color: hsl(0, 100%, 40%);">-DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: is child of msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span style="color: hsl(0, 100%, 40%);">-  MS <--Call Assignment-- MSC: callref=0x80000003</span><br><span style="color: hsl(120, 100%, 40%);">+DIUCS msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_COMMUNICATING}: Assignment for this trans already started earlier</span><br><span> - But the other side's MSISDN could not be resolved, MNCC tells us to cancel</span><br><span> DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) rx MNCC_REL_REQ</span><br><span> DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ callref-0x80000003 tid-8) stopping pending guard timer</span><br><span>@@ -1963,9 +2129,15 @@</span><br><span> DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,active-conn,msc_a_fsm_releasing_onenter)</span><br><span> DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){ESTABLISHING}: state_chg to RELEASING</span><br><span> DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){RELEASING}: Terminating (cause = OSMO_FSM_TERM_REGULAR)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483651:RTP_TO_CN:no-CI){UNINITIALIZED}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ))</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483651:RTP_TO_CN:no-CI){UNINITIALIZED}: Removing from parent call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483651:RTP_TO_CN:no-CI){UNINITIALIZED}: Deferring: will deallocate with call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483651:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ))</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483651:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Removing from parent call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span style="color: hsl(120, 100%, 40%);">+DCC rtp_stream(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ:trans-8:call-2147483651:RTP_TO_RAN:no-CI:local-10-23-23-1-23){UNINITIALIZED}: Deferring: will deallocate with call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span> DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){RELEASING}: Removing from parent msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ)</span><br><span> DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: Received Event MSC_EV_CALL_LEG_TERM</span><br><span style="color: hsl(0, 100%, 40%);">-DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){RELEASING}: Deallocated</span><br><span style="color: hsl(120, 100%, 40%);">+DCC call_leg(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){RELEASING}: Deallocated, including all deferred deallocations</span><br><span> DREF msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: + wait-Clear-Complete: now used by 1 (wait-Clear-Complete)</span><br><span> DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){MSC_A_ST_RELEASING}: RAN encode: CLEAR_COMMAND on UTRAN-Iu</span><br><span> DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:CM_SERVICE_REQ){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST</span><br><span>diff --git a/tests/msc_vlr/msc_vlr_tests.c b/tests/msc_vlr/msc_vlr_tests.c</span><br><span>index 3d69ae8..48f55e1 100644</span><br><span>--- a/tests/msc_vlr/msc_vlr_tests.c</span><br><span>+++ b/tests/msc_vlr/msc_vlr_tests.c</span><br><span>@@ -73,11 +73,19 @@</span><br><span> bool bssap_clear_expected = false;</span><br><span> bool bssap_clear_sent = false;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+bool bssap_assignment_expected = false;</span><br><span style="color: hsl(120, 100%, 40%);">+bool bssap_assignment_sent = false;</span><br><span style="color: hsl(120, 100%, 40%);">+bool iu_rab_assignment_expected = false;</span><br><span style="color: hsl(120, 100%, 40%);">+bool iu_rab_assignment_sent = false;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> uint32_t cc_to_mncc_tx_expected_msg_type = 0;</span><br><span> const char *cc_to_mncc_tx_expected_imsi = NULL;</span><br><span> bool cc_to_mncc_tx_confirmed = false;</span><br><span> uint32_t cc_to_mncc_tx_got_callref = 0;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+enum rtp_direction expecting_crcx = -1;</span><br><span style="color: hsl(120, 100%, 40%);">+bool got_crcx = false;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> extern int ran_dec_dtap_undup_pdisc_ctr_bin(uint8_t pdisc);</span><br><span> </span><br><span> /* static state variables for the L3 send sequence numbers */</span><br><span>@@ -296,6 +304,20 @@</span><br><span>         return 0;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+static void bssap_validate_assignment_cmd()</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+    OSMO_ASSERT(bssap_assignment_expected);</span><br><span style="color: hsl(120, 100%, 40%);">+       bssap_assignment_expected = false;</span><br><span style="color: hsl(120, 100%, 40%);">+    bssap_assignment_sent = true;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+static void iucs_validate_assignment_cmd()</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+     OSMO_ASSERT(iu_rab_assignment_expected);</span><br><span style="color: hsl(120, 100%, 40%);">+      iu_rab_assignment_expected = false;</span><br><span style="color: hsl(120, 100%, 40%);">+   iu_rab_assignment_sent = true;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> static int iucs_validate_security_mode_ctrl(const struct ran_cipher_mode_command *cmd)</span><br><span> {</span><br><span>   const char *got_ik;</span><br><span>@@ -346,6 +368,18 @@</span><br><span>                   OSMO_ASSERT(false);</span><br><span>          }</span><br><span>            break;</span><br><span style="color: hsl(120, 100%, 40%);">+        case RAN_MSG_ASSIGNMENT_COMMAND:</span><br><span style="color: hsl(120, 100%, 40%);">+              switch (ran_type) {</span><br><span style="color: hsl(120, 100%, 40%);">+           case OSMO_RAT_GERAN_A:</span><br><span style="color: hsl(120, 100%, 40%);">+                        bssap_validate_assignment_cmd();</span><br><span style="color: hsl(120, 100%, 40%);">+                      break;</span><br><span style="color: hsl(120, 100%, 40%);">+                case OSMO_RAT_UTRAN_IU:</span><br><span style="color: hsl(120, 100%, 40%);">+                       iucs_validate_assignment_cmd();</span><br><span style="color: hsl(120, 100%, 40%);">+                       break;</span><br><span style="color: hsl(120, 100%, 40%);">+                default:</span><br><span style="color: hsl(120, 100%, 40%);">+                      OSMO_ASSERT(false);</span><br><span style="color: hsl(120, 100%, 40%);">+           }</span><br><span style="color: hsl(120, 100%, 40%);">+             break;</span><br><span>       default:</span><br><span>             break;</span><br><span>       }</span><br><span>@@ -602,6 +636,14 @@</span><br><span>     bssap_clear_sent = false;</span><br><span> </span><br><span>        osmo_gettimeofday_override = false;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ expecting_crcx = -1;</span><br><span style="color: hsl(120, 100%, 40%);">+  got_crcx = false;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   bssap_assignment_expected = false;</span><br><span style="color: hsl(120, 100%, 40%);">+    bssap_assignment_sent = false;</span><br><span style="color: hsl(120, 100%, 40%);">+        iu_rab_assignment_expected = false;</span><br><span style="color: hsl(120, 100%, 40%);">+   iu_rab_assignment_sent = false;</span><br><span> }</span><br><span> </span><br><span> static struct log_info_cat test_categories[] = {</span><br><span>@@ -763,14 +805,76 @@</span><br><span>         return 0;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-/* override, requires '-Wl,--wrap=call_leg_ensure_ci' */</span><br><span style="color: hsl(0, 100%, 40%);">-int __real_call_leg_ensure_ci(struct call_leg *cl, enum rtp_direction dir, uint32_t call_id, struct gsm_trans *for_trans);</span><br><span style="color: hsl(0, 100%, 40%);">-int __wrap_call_leg_ensure_ci(struct call_leg *cl, enum rtp_direction dir, uint32_t call_id, struct gsm_trans *for_trans)</span><br><span style="color: hsl(120, 100%, 40%);">+struct rtp_stream fake_rtp[2] = {</span><br><span style="color: hsl(120, 100%, 40%);">+      {</span><br><span style="color: hsl(120, 100%, 40%);">+             .dir = RTP_TO_RAN,</span><br><span style="color: hsl(120, 100%, 40%);">+            .local = {</span><br><span style="color: hsl(120, 100%, 40%);">+                    .ip = "10.23.42.1",</span><br><span style="color: hsl(120, 100%, 40%);">+                 .port = 99,</span><br><span style="color: hsl(120, 100%, 40%);">+           },</span><br><span style="color: hsl(120, 100%, 40%);">+            .remote = {</span><br><span style="color: hsl(120, 100%, 40%);">+                   .ip = "10.23.42.2",</span><br><span style="color: hsl(120, 100%, 40%);">+                 .port = 100,</span><br><span style="color: hsl(120, 100%, 40%);">+          },</span><br><span style="color: hsl(120, 100%, 40%);">+    },</span><br><span style="color: hsl(120, 100%, 40%);">+    {</span><br><span style="color: hsl(120, 100%, 40%);">+             .dir = RTP_TO_CN,</span><br><span style="color: hsl(120, 100%, 40%);">+             .local = {</span><br><span style="color: hsl(120, 100%, 40%);">+                    .ip = "10.23.42.1",</span><br><span style="color: hsl(120, 100%, 40%);">+                 .port = 23,</span><br><span style="color: hsl(120, 100%, 40%);">+           },</span><br><span style="color: hsl(120, 100%, 40%);">+            .remote = {</span><br><span style="color: hsl(120, 100%, 40%);">+                   .ip = "10.23.42.2",</span><br><span style="color: hsl(120, 100%, 40%);">+                 .port = 42,</span><br><span style="color: hsl(120, 100%, 40%);">+           },</span><br><span style="color: hsl(120, 100%, 40%);">+    },</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+void expect_crcx(enum rtp_direction towards)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-     log("MS <--Call Assignment-- MSC: callref=0x%x", call_id);</span><br><span style="color: hsl(120, 100%, 40%);">+       OSMO_ASSERT(expecting_crcx == -1);</span><br><span style="color: hsl(120, 100%, 40%);">+    expecting_crcx = towards;</span><br><span style="color: hsl(120, 100%, 40%);">+     got_crcx = false;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+/* override, requires '-Wl,--wrap=call_leg_ensure_ci' */</span><br><span style="color: hsl(120, 100%, 40%);">+int __real_call_leg_ensure_ci(struct call_leg *cl, enum rtp_direction dir, uint32_t call_id, struct gsm_trans *for_trans,</span><br><span style="color: hsl(120, 100%, 40%);">+                         const enum mgcp_codecs *codec_if_known, const struct osmo_sockaddr_str *remote_addr_if_known);</span><br><span style="color: hsl(120, 100%, 40%);">+int __wrap_call_leg_ensure_ci(struct call_leg *cl, enum rtp_direction dir, uint32_t call_id, struct gsm_trans *for_trans,</span><br><span style="color: hsl(120, 100%, 40%);">+                             const enum mgcp_codecs *codec_if_known, const struct osmo_sockaddr_str *remote_addr_if_known)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+        if (!cl->rtp[dir]) {</span><br><span style="color: hsl(120, 100%, 40%);">+               log("MGW <--CRCX to %s-- MSC: callref=0x%x", rtp_direction_name(dir), call_id);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+                OSMO_ASSERT(expecting_crcx == dir);</span><br><span style="color: hsl(120, 100%, 40%);">+           expecting_crcx = -1;</span><br><span style="color: hsl(120, 100%, 40%);">+          got_crcx = true;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+            call_leg_ensure_rtp_alloc(cl, dir, call_id, for_trans);</span><br><span style="color: hsl(120, 100%, 40%);">+               if (codec_if_known)</span><br><span style="color: hsl(120, 100%, 40%);">+                   rtp_stream_set_codec(cl->rtp[dir], *codec_if_known);</span><br><span style="color: hsl(120, 100%, 40%);">+               if (remote_addr_if_known && osmo_sockaddr_str_is_set(remote_addr_if_known))</span><br><span style="color: hsl(120, 100%, 40%);">+                   rtp_stream_set_remote_addr(cl->rtp[dir], remote_addr_if_known);</span><br><span style="color: hsl(120, 100%, 40%);">+    }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>  return 0;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+/* override, requires '-Wl,--wrap=rtp_stream_set_codec' */</span><br><span style="color: hsl(120, 100%, 40%);">+void rtp_stream_set_codec(struct rtp_stream *rtps, enum mgcp_codecs codec);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+void crcx_ok(enum rtp_direction dir)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+        struct msc_a *msc_a = msub_msc_a(g_msub);</span><br><span style="color: hsl(120, 100%, 40%);">+     struct call_leg *cl = msc_a->cc.call_leg;</span><br><span style="color: hsl(120, 100%, 40%);">+  OSMO_ASSERT(cl);</span><br><span style="color: hsl(120, 100%, 40%);">+      OSMO_ASSERT(cl->rtp[dir]);</span><br><span style="color: hsl(120, 100%, 40%);">+ osmo_sockaddr_str_from_str(&cl->rtp[dir]->local, "10.23.23.1", 23);</span><br><span style="color: hsl(120, 100%, 40%);">+       //osmo_sockaddr_str_from_str(&cl->rtp[dir].remote, "10.42.42.1", 42);</span><br><span style="color: hsl(120, 100%, 40%);">+        log("MGW --CRCX OK to %s--> MSC", rtp_direction_name(dir));</span><br><span style="color: hsl(120, 100%, 40%);">+      osmo_fsm_inst_dispatch(cl->fi, CALL_LEG_EV_RTP_STREAM_ADDR_AVAILABLE, cl->rtp[dir]);</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> static int fake_vlr_tx_lu_acc(void *msc_conn_ref, uint32_t send_tmsi)</span><br><span> {</span><br><span>        struct msc_a *msc_a = msc_conn_ref;</span><br><span>@@ -895,6 +999,19 @@</span><br><span>           g_msub = NULL;</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+void ms_sends_assignment_complete()</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+       struct ran_msg ran_dec;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     ran_dec = (struct ran_msg){</span><br><span style="color: hsl(120, 100%, 40%);">+           .msg_type = RAN_MSG_ASSIGNMENT_COMPLETE,</span><br><span style="color: hsl(120, 100%, 40%);">+      };</span><br><span style="color: hsl(120, 100%, 40%);">+    fake_msc_a_ran_dec(&ran_dec);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   if (!conn_exists(g_msub))</span><br><span style="color: hsl(120, 100%, 40%);">+             g_msub = NULL;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> void ran_sends_clear_complete()</span><br><span> {</span><br><span>  struct ran_msg ran_dec;</span><br><span>diff --git a/tests/msc_vlr/msc_vlr_tests.h b/tests/msc_vlr/msc_vlr_tests.h</span><br><span>index 9df9cf0..70a7c49 100644</span><br><span>--- a/tests/msc_vlr/msc_vlr_tests.h</span><br><span>+++ b/tests/msc_vlr/msc_vlr_tests.h</span><br><span>@@ -31,6 +31,8 @@</span><br><span> #include <osmocom/msc/msub.h></span><br><span> #include <osmocom/msc/msc_a.h></span><br><span> #include <osmocom/msc/mncc.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <osmocom/msc/call_leg.h></span><br><span style="color: hsl(120, 100%, 40%);">+#include <osmocom/msc/rtp_stream.h></span><br><span> </span><br><span> extern bool _log_lines;</span><br><span> #define _log(fmt, args...) do { \</span><br><span>@@ -140,6 +142,23 @@</span><br><span>    }</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+extern bool bssap_assignment_expected;</span><br><span style="color: hsl(120, 100%, 40%);">+extern bool bssap_assignment_sent;</span><br><span style="color: hsl(120, 100%, 40%);">+extern bool iu_rab_assignment_expected;</span><br><span style="color: hsl(120, 100%, 40%);">+extern bool iu_rab_assignment_sent;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+static inline void expect_bssap_assignment()</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+       bssap_assignment_expected = true;</span><br><span style="color: hsl(120, 100%, 40%);">+     bssap_assignment_sent = false;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+static inline void expect_iu_rab_assignment()</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+ iu_rab_assignment_expected = true;</span><br><span style="color: hsl(120, 100%, 40%);">+    iu_rab_assignment_sent = false;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> struct msc_vlr_test_cmdline_opts {</span><br><span>   bool verbose;</span><br><span>        int run_test_nr;</span><br><span>@@ -163,10 +182,12 @@</span><br><span> void ms_sends_classmark_update(const struct osmo_gsm48_classmark *classmark);</span><br><span> void ms_sends_ciphering_mode_complete(const char *inner_nas_msg);</span><br><span> void ms_sends_security_mode_complete();</span><br><span style="color: hsl(120, 100%, 40%);">+void ms_sends_assignment_complete();</span><br><span> void gsup_rx(const char *rx_hex, const char *expect_tx_hex);</span><br><span> void send_sms(struct vlr_subscr *receiver,</span><br><span>              struct vlr_subscr *sender,</span><br><span>           char *str);</span><br><span style="color: hsl(120, 100%, 40%);">+void crcx_ok(enum rtp_direction dir);</span><br><span> </span><br><span> void ran_sends_clear_complete();</span><br><span> </span><br><span>@@ -248,3 +269,6 @@</span><br><span> #define VLR_TO_HLR "0a0101"</span><br><span> #define EUSE_TO_MSC_USSD "0a0103"</span><br><span> #define MSC_USSD_TO_EUSE "0a0103"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+extern bool got_crcx;</span><br><span style="color: hsl(120, 100%, 40%);">+void expect_crcx(enum rtp_direction towards);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-msc/+/15347">change 15347</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-msc/+/15347"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-msc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ie995e264eb1e3dd9558a1753ff6f9b55c1d084e1 </div>
<div style="display:none"> Gerrit-Change-Number: 15347 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>